我想在我的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链,这是上述规则所做的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。