我不确定这是否可能。
我想在多个端口(不仅仅是 443)上接受 https 流量并将它们重定向到外部 IP 地址和端口,例如:
mydomain.com:443 -> 2.2.2.2:10000
mydomain.com:444 -> 3.3.3.3:10001
mydomain.com:445 -> 4.4.4.4:20111
基本上,多个端口接受 https 流量,转发到不同端口上的外部 IP 地址。
我能够使用 iptables 对 http 流量执行此操作,但现在我很难对 https 流量执行此操作。我一直在尝试使用 /ports.conf,但我认为我走错了地方,因为这更多地与在同一服务器上为多个网站使用多个端口有关,这不是我想要做的。我不需要任何流量停留在服务器上并提供内容,我只想将传入的 https 流量通过 NAT 发送到其目的地。
我应该尝试在 iptables 中执行此操作吗?如果是这样,我该如何指定要重定向的是 https 流量,而不是 http 流量。我曾简要了解过 nginx,但我对它并不熟悉(我主要使用 apache)。
谢谢。
答案1
我已经能够使用VirtualHosts
apache 来解决这个问题。
我监听了多个 http 端口ports.conf
<IfModule ssl_module>
Listen 443
Listen 444
Listen 445
</IfModule>
然后简单地将以下内容添加到我的.conf
文件中sites-available
<VirtualHost *:444>
ProxyPreserveHost On
ProxyRequests Off
ServerName xxx
ServerAlias xxx
ProxyPass / http://2.2.2.2:10000/
ProxyPassReverse / http://2.2.2.2:10000/
SSLCertificateFile /etc/letsencrypt/live/xxx/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xxx/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
希望这对某人有帮助。