使用iptables重定向端口443(https)到IP

3
我已经尝试了几个小时来完成这个简单的任务,但它并不像你想象的那么简单。我想将对443和80端口的每个请求重定向到一个Web服务器,在我的例子中是http://127.0.0.1:80。端口80没有任何问题,但443端口让我试了很久......我猜你已经尝试运行以下命令:
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 443 -j DNAT --to-destination 127.0.0.1:80

但这是错误的,因为端口443不能重定向到除443以外的其他端口。
1个回答

4

解决方案如下:

使用以下命令:

iptables -t nat -A OUTPUT -p tcp --dport 443 -j DNAT --to-destination 127.0.0.1:443

然后为Apache启用https。

如果您使用的是CentOS,请使用此教程-http://wiki.centos.org/HowTos/Https

祝好运。


2
我认为DNAT应该在PREROUTING链中,而不是OUTPUT链中。请参阅文档。 - erikbstack
1
如果这个解决方案4年前能用,那还好吧。但现在不行了。除了链路错误和文档没有专注于这个问题之外,Facebook和其他网站使用的HTTPS和HSTS也不是那么容易规避的。 - ivanleoncz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接