将多个 https 端口重定向到多个外部 IP 和端口

将多个 https 端口重定向到多个外部 IP 和端口

我不确定这是否可能。

我想在多个端口(不仅仅是 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

我已经能够使用VirtualHostsapache 来解决这个问题。

我监听了多个 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>

希望这对某人有帮助。

相关内容