我使用 NGINX 作为 apache 的反向代理。但是,访问时,REMOTE_ADDR
变量是 127.0.0.1(在 Web 应用程序中)。是的,HTTP_X_FORWARDED_FOR
可以看到我的 IP,但我如何才能强制它REMOTE_ADDR
也是相同的?
答案1
有一个特定的模块:远程 IP 地址修改
此模块用于将发起请求的用户代理视为 httpd 为授权和日志记录而识别的原始用户代理,即使该用户代理位于负载平衡器、前端服务器或代理服务器之后。
该模块将使用配置的请求标头中报告的用户代理 IP 地址覆盖连接的客户端 IP 地址
RemoteIPHeader
指示。
RemoteIPHeader X-Forwarded-For
您可能不应该允许任何客户端设置 X-forwarded-For 标头,并且只在请求来自您的(反向)代理时信任标头值,方法是添加具有受信任主机的 ACLRemoteIPInternalProxy
或者 RemoteIPInternalProxyList
指令。