我有一台机器上的 8080 端口上运行的 ASP.NET 服务器,出于性能原因,一个 nginx 缓存反向代理在端口 80 上运行。请求会发送到端口 80,然后,如果 nginx 缓存没有响应,则将其传递给 localhost :8080 通过 nginx proxy_pass 指令。
到目前为止,此设置运行良好,除了 ASP.NET customErrors。我希望它们是“RemoteOnly”,但由于反向代理,所有请求都将来自本地主机,因此是本地的。我确实通过 nginx 传递了 X-Real-IP 和 X-Forwarded-For,但 ASP.NET 似乎完全忽略了这一点。任何的想法?
请您参考如下方法:
看来,当发生从 8080 到 80 端口的重定向时,对于 IIS 来说,这听起来像是本地请求。 (IIS 对 nginx 一无所知)。因此在这种情况下永远不会发生“远程请求”。