在使用 Nginx 进行反向代理时,如果在配置中设置了allow XXX; deny all;来限制访问,同时又使用set_real_ip_fromreal_ip_header来显示访问者真实 IP,则可能会导致网站返回 404 错误。这是因为当请求经过反向代理服务器时,实际上是通过反向代理服务器的 IP 进行访问,而不是访问者的真实 IP。因此,如果设置了allow XXX; deny all;,除了XXX IP 之外的所有请求都会被拒绝。\n\n为了解决这个问题,您可以尝试以下方法:\n\n1. 注释或删除allow XXX; deny all;: 这样可以解除对其他 IP 的限制。\n2. 在反向代理服务器上设置proxy_set_header X-Real-IP $remote_addr;: 这样可以将真实的访问者 IP 传递给后端服务器。\n3. 在后端服务器中使用$_SERVER['HTTP_X_REAL_IP']来获取真实的访问者 IP: 这样你就可以在应用程序中使用真实 IP 进行处理。\n\n请注意,当你解除对其他 IP 的限制时,确保你的服务器有适当的安全措施来保护网站免受恶意访问。例如,你可以使用防火墙规则或其他安全措施来限制访问。

Nginx 反向代理设置导致网站404错误:解决方法及安全注意事项

原文地址: https://www.cveoy.top/t/topic/hbX7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录