ใช้ Mod remoteip แทน Mod_rpaf

ใครที่ใช้ 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/

ผิดพลาดประการใดชี้แนะด้วยนะครับ แต่ผมเทสแล้ว ใช้ได้ปกติครับ เห็นไอพีจริงเรียบร้อย

ขอบคุณครับ

ขอเอาไปลองบ้างคร้าบบบ

da กับ plesk เค้าใช้ mod_aclr2 ครับ

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.

ขอบคุณทั้งสองท่านครับ

ใน build ของ da มีแต่ doModAclr2() ครับ ไม่มี remoteip ครับ

สั่ง 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 มาเป็น [B]“default”[/B] มาอยู่แล้วครับใน Apache 2.4

http://httpd.apache.org/docs/current/mod/mod_remoteip.html

[COLOR=#ff0000][B]A module labeled as having “Base” status is compiled and loaded into the server by default[/B][/COLOR], and is therefore normally available unless you have taken steps to remove the module from your configuration.