我有一个8080端口上运行的Web服务器。我想通过端口80访问它,所以我这样做:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080
它工作,如果我从其他机器使用访问服务器
http://ipoftheserver/
但是如果我使用同一台机器访问服务器,则不起作用
http://localhost/
这是为什么?
提前致谢。
我不确定你可以通过iptables做你想做的事情,本地主机不通过NAT路由。 看到这个SO问题和这个SF问题的细节。
如果服务器是Apache您可以将服务器绑定到多个端口。 有关详细信息,请参阅http://httpd.apache.org/docs/2.2/bind.html 。
httpd.conf Listen 80 Listen 8000
-要么-
Listen 192.0.2.1:80 Listen 127.0.0.1:80 Listen 192.0.2.1:8000
PREROUTING链在路由之前影响收到的数据包。 本地生成的数据包从OUTPUT链开始。