Redirect Nginx-出现错误时不需要的端口重定向

Redirect Nginx-出现错误时不需要的端口重定向,redirect,nginx,iptables,Redirect,Nginx,Iptables,考虑到这种配置: Nginx正在收听*:81 iptables将所有定向到:80的流量重定向到位于:81的Nginx iptables阻塞端口:外部81 在404事件发生之前,一切正常: 用户将要http://example.com:80/index.html -一切正常。用户->服务器:80->Nginx:81 用户单击一些不存在的链接,即。http://example.com:80/doesntExist.html -用户被自动重定向到http://example.com:81/doesnt

考虑到这种配置:

Nginx正在收听*:81 iptables将所有定向到:80的流量重定向到位于:81的Nginx iptables阻塞端口:外部81 在404事件发生之前,一切正常:

用户将要http://example.com:80/index.html -一切正常。用户->服务器:80->Nginx:81 用户单击一些不存在的链接,即。http://example.com:80/doesntExist.html -用户被自动重定向到http://example.com:81/doesntExist.html,由于iptables规则,无法加载。 问题是:如何阻止Nginx在它认为正在侦听的端口重定向到URL

**编辑:**似乎这就是问题所在:


**EDIT2:*第一次编辑中提供的解决方案有效-只是存在一些与本地缓存相关的问题:

nginx认为端口81是正确的端口,这在技术上是正确的。为什么不让nginx监听端口80?@StevenV我知道这就是nginx的想法。我不能让它在目标端口上运行-这就是为什么我使用iptables重定向它。真正吸引我的是,为什么Nginx甚至会进行重定向——毕竟它可以直接用404回复该请求,而不是将其重定向到其他地方然后再进行404。