ใครที่ใช้ nginx อยู่คงรู้จัก mod_rpaf กันหมดแล้วนะครับ แต่ทีนี้พออัพเป็น apache 2.4 mod นี้ใช้ไม่ได้ startไม่ขึ้น ไม่รู้แก้ยังไงก็เลยหาตัวแทนมาลอง
เช็คง่ายๆว่าเรามี mod ตัวนี้หรือยัง
httpd -l | grep mod_remoteip.c
mod_remoteip.c << ผลที่ได้
ถ้ามีอยู่แล้ว ก็แก้ไฟลืครับ
nano /etc/httpd/conf/httpd.conf
แล้วยัด
RemoteIPHeader X-Real-IP
RemoteIPInternalProxy X.X.X.X/24 # Your server IP address xxxx ให้แก้เป็นไอพีเรานะครับ
แล้ว restart httpd ก็จะสามารถใช้งานได้ตามปกติครับ
Ref http://syslint.com/syslint/replacing-mod_rpaf-with-mod_remoteip-in-apache-2-4-nginx-real_ip-problem-solution/
ผิดพลาดประการใดชี้แนะด้วยนะครับ แต่ผมเทสแล้ว ใช้ได้ปกติครับ เห็นไอพีจริงเรียบร้อย
ขอบคุณครับ
iCafe
May 5, 2015, 7:53pm
3
da กับ plesk เค้าใช้ mod_aclr2 ครับ
iLhay
May 5, 2015, 8:20pm
4
mod_aclr2 ใช้ serve static files ให้ไปเรียกที่ reverse proxy ครับ ก็คือ เมื่อ apache เห็นเรียก static files ที่ขนาดเกินกว่าที่กำหนดเมื่อไหร่ จะ redirect ไปที่ reverse proxy เลยครับ
ส่วน mod_rpaf2, mod_remoteip เอาไว้ให้ apache log เห็น real ip ที่ client request มานั้นถูกต้องครับ
ซึ่งทั้งสองอย่างนี้คนละหน้าที่กันครับ
mod_rpaf2 ก็มี patch สำหรับ apache 2.4 ครับ แต่วุ่นวาย ใช้ mod_remoteip ง่ายกว่าครับ และค่อนข้างโอเคกว่า
ส่วน directadmin ก้ใช้ mod_remoteip ครับ ไม่ได้ใช้แต่ mor_aclr2 เพียวๆ สำหรับ plesk ก็น่าจะเหมือนกัน
และ mod_rpaf/mod_remoteip ก็เป็น require mod สำหรับ mod_aclr2 ด้วยครับ
It is very important to transfer a real client IP address to Apache for correct logging, permission checks, etc. You can use the special header field X-Real-IP as shown below along with the module mod_rpaf to make this work.
iCafe
May 5, 2015, 8:41pm
6
iLhay:
mod_aclr2 ใช้ serve static files ให้ไปเรียกที่ reverse proxy ครับ ก็คือ เมื่อ apache เห็นเรียก static files ที่ขนาดเกินกว่าที่กำหนดเมื่อไหร่ จะ redirect ไปที่ reverse proxy เลยครับ
ส่วน mod_rpaf2, mod_remoteip เอาไว้ให้ apache log เห็น real ip ที่ client request มานั้นถูกต้องครับ
ซึ่งทั้งสองอย่างนี้คนละหน้าที่กันครับ
mod_rpaf2 ก็มี patch สำหรับ apache 2.4 ครับ แต่วุ่นวาย ใช้ mod_remoteip ง่ายกว่าครับ และค่อนข้างโอเคกว่า
ส่วน directadmin ก้ใช้ mod_remoteip ครับ ไม่ได้ใช้แต่ mor_aclr2 เพียวๆ สำหรับ plesk ก็น่าจะเหมือนกัน
และ mod_rpaf/mod_remoteip ก็เป็น require mod สำหรับ mod_aclr2 ด้วยครับ
ใน build ของ da มีแต่ doModAclr2() ครับ ไม่มี remoteip ครับ
iLhay
May 5, 2015, 8:43pm
7
สั่ง httpd -l | grep ‘remoteip’ ดูนะครับ จะมี mod_remoteip โหลดอยู่ด้วย
และ config mod_remoteip อยู่ที่ /etc/httpd/conf/extra/httpd-nginx.conf ครับ
RemoteIPInternalProxy 127.0.0.1
RemoteIPInternalProxyList /usr/local/directadmin/data/admin/ip.list
ส่วนที่ใน build da ไม่มี mod_remoteip ก็เพราะว่ามันถูก compile มาเป็น “default” มาอยู่แล้วครับใน Apache 2.4
http://httpd.apache.org/docs/current/mod/mod_remoteip.html
A module labeled as having “Base” status is compiled and loaded into the server by default , and is therefore normally available unless you have taken steps to remove the module from your configuration.