我是这个论坛的新手,所以如果这是题外话或者放错了地方,请告诉我应该去哪里问。
所以我的问题是:我有一个具有公网 IP 地址(1.2.3.4)的 OpenVPN 服务器,该服务器连接了网络中的一些客户端,如 10.8.0.0/24,但无法通过其公网 IP 访问。这些客户端有不同的角色(1 个客户端是 Web 服务器,另一个是邮箱,等等...)。我还有一个域,如 example.com,该域的 DNS 由 VPN 服务器处理我有两个客户端,它们的 Web 服务器具有不同的 FQDN:第一个是 www.example.com,IP 为 10.8.0.2 第二个是 box.example.com,IP 为 10.8.0.3 到目前为止,我只有一个 Web 服务器,因此我的域指向 1.2.3.4 VPN 服务器将端口 80 和 443 上的所有传入流量转发到 10.8.0.2(使用 NAT),这样就可以从互联网访问 www.example.com。
现在,我不知道我必须设置什么,以便服务器根据子域将请求转发到两个不同的框。
非常感谢您的帮助,即使您只是指导我在谷歌上搜索什么,我也会非常感激,因为我现在有点迷茫。
PD:我相信要从 VPN 转发邮件流量,我不能使用 IPTABLES 来转发流量,但我需要设置 MTA 代理,以便我可以正确检查 SPF 记录,否则我会发现我的 box.example.com 上收到的所有电子邮件都来自 10.8.0.1 而不是公共 IP。
答案1
您需要在当前服务端口 80 和 443 的服务器上设置反向代理。然后,反向代理会将子域转发到您想要的服务器。HAProxy 和 nginx 可用于此目的。