apachecan';t确定[远程地址]

apachecan';t确定[远程地址],apache,nginx,server,freebsd,Apache,Nginx,Server,Freebsd,我有一台FreeBSD服务器,前端是Nginx,后端是Apache2.4。所有工作都很好,但Apache无法检测到[REMOTE_ADDR],而是显示服务器IP地址 为了解决我的问题,我启用了 LoadModule remoteip_module libexec/apache24/mod_remoteip.so httpd.conf中的更改 #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

我有一台FreeBSD服务器,前端是Nginx,后端是Apache2.4。所有工作都很好,但Apache无法检测到[REMOTE_ADDR],而是显示服务器IP地址

为了解决我的问题,我启用了

LoadModule remoteip_module libexec/apache24/mod_remoteip.so
httpd.conf中的更改

#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
并尝试将IP从Nginx发送到Apache

Nginx配置:

server {
        server_name example.com www.example.com;
        listen 80;
        disable_symlinks if_not_owner from=$root_path;
        index index.php;
        set $root_path /home/user/example.com/public_html;
        location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
                        root $root_path;
                        error_page 404 = @fallback;
        }
        location / {
                        proxy_pass http://localhost:81;
                        proxy_redirect http://localhost:81/ /;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_set_header X-Real-IP $remote_addr;
        }
        location @fallback {
                        proxy_pass http://localhost:81;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_set_header X-Real-IP $remote_addr;
        }
}

但是没有成功。

Nginx配置看起来不错。您可能需要将以下内容添加到Apache配置中

RemoteIPHeader X-Client-IP

您是否在Apache中设置了
RemoteiPeader