linux – 端口80重定向不适用于localhost

前端之家收集整理的这篇文章主要介绍了linux – 端口80重定向不适用于localhost前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的ubuntu linode上使用以下命令运行一个简单的 python webserver(它只是将当前目录放在指定的端口上)
python -m SimpleHTTPServer 8080

我使用端口8080来避免使用sudo在端口80上运行

为了使其可访问,我使用以下命令将端口80重定向到端口8080:

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

现在任何计算机都可以访问我的网站giuliopizzini.com除了localhost,它收到套接错误,连接被拒绝.如果我将localhost指向giuliopizzini.com:8080它可以正常工作但重定向失败.

我启用了防火墙,但如果我重置它

sudo iptables -F

行为完全相同,所以这似乎没有在这里发挥作用.

如何在localhost上进行重定向工作?

解决方法

您需要为localhost重定向添加另一个规则才能工作:
sudo iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-port 8080

您需要包括用于连接的目标IP,例如localhost或任何接口IP.

本地生成的流量未达到PREROUTING链.它命中nat表中的OUTPUT链,这是上述规则所做的.

猜你在找的Linux相关文章