我的路由器有一个从端口 80 到 8080 的端口转发功能,可转发到 Linux 服务器。在端口 8080 上,nginx 正在监听并充当反向代理。Nginx 可以重定向到同一台机器上的另一个端口。(端口 8080 重定向到在端口 9000 上运行的服务器上的另一个 Web 界面)
现在我想在服务器上设置 iptables,但想接受所有想要到达 Nginx 的请求。iptables 是否仍能检测到原始目标端口是 80,并允许随后的每个端口重定向(80 -> 8080 -> 9000)?还是我必须将 8080 添加到 iptables?或者甚至是 9000?
谢谢你!
答案1
服务器上的 iptables 无法将原始端口视为 80,因为它将其作为端口 8080 接收,因为路由器在转发数据包时修改了数据包。您告诉服务器上的 iptables 接受端口 8080 的流量。
您还希望 iptables 接受本地主机 9000 端口上的连接。您很可能不需要在这里做任何事情,因为通常有一条规则允许任何来往于本地主机的通信。这是因为代理会终止传入连接并建立从自身到目标的第二个连接。