如何强制 REMOTE_ADDR 为用户的 IP 而不是 127.0.0.1(使用 NGINX 和 apache 时)

如何强制 REMOTE_ADDR 为用户的 IP 而不是 127.0.0.1(使用 NGINX 和 apache 时)

我使用 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指令。

相关内容