【发布时间】:2012-02-19 15:32:51
【问题描述】:
我正在尝试在 nginx 代理后面配置 apache 服务器。 nginx 和 apache 实例位于两个不同的主机上。 两台服务器都在运行 debian 挤压。
我在前端服务器(192.168.1.30)的nginx.conf中有这个
server {
listen 80; ## listen for ipv4
listen [::]:80 default ipv6only=on; ## listen for ipv6
server_name front.tld.org; #real hostname changed
access_log /var/log/nginx/localhost.access.log;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://192.168.1.1:80; #local IP of the server running apache
}
在apache主机(192.168.1.1)上,/etc/apache2/mods-enabled/rpaf.conf:
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.1.30
RPAFheader X-Real-IP
</IfModule>
我重新启动了 nginx 和 apache2 服务。
但是在 apache2 /var/log/apache2/access.log 中,我总是有一个来自 192.168.1.30 (代理)而不是真实客户端的原始 IP。
有什么问题吗?知道如何调试吗?
【问题讨论】: