정적 파일을 위해 Nginx 프런트 엔드를 실행하고 Apache의 mod_rpaf를 사용하여 백엔드에서 올바른 원격 IP 주소를 설정하여 PHP 및 승객을위한 Apache 백엔드로 프록시를 작성하고 있습니다. Ubuntu 12.04 (Precise)로 업그레이드 할 때까지 모든 것이 잘 작동했습니다. 이제 Apache는 127.0.0.1에서 오는 모든 연결을보고합니다.
관련 구성은 다음과 같습니다. 업그레이드로 변경된 사항은 없습니다.
Nginx :
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
mod_rpaf :
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 ::1
RPAFheader X-Forwarded-For
</IfModule>
내가 사용하고 %{X-Forwarded-For}i
내 아파치 LogFormat 지시어에 내가 Nginx에 제대로 따라 주소를 전달하고 알 수 있도록 액세스 로그는 올바른 원격 주소를 보여주고있다.
A의 phpinfo()
시험 HTTP_X_FORWARDED_FOR 올바른 원격 주소를 보이고 있지만 REMOTE_ADDR는 127.0.0.1이다. 이것은 WordPress 주석과 같은 PHP 응용 프로그램에도 반영됩니다.
Nginx와 mod_rpaf를 X-Real-IP로 전환하려고 시도했지만 아무런 효과가 없습니다.
내가 놓친 변화가 있었습니까?
관련 버전 정보 : Ubuntu 저장소에서 설치된 모든 것 :
Nginx 1.1.19
Apache 2.2.22
mod_rpaf 0.6