设置子域名

设置子域名

这是新手问题。请纠正我目前知识中的任何不足之处。

如果我有域名 ex1.example.com 并且想让它指向一台服务器,然后让同一外部 IP 地址上的另一台服务器称为 ex2.example.com,我该如何配置呢?

据我所知,如果两台服务器有单独的对外 IP 地址,那么使用 DNS 上的 A 记录可以轻松实现这一点。每台服务器都有一个指向其唯一对外 IP 的 A 记录。但是,当两台服务器位于相同的对外地址和不同的内部 IP 上时,我该如何让它工作?

答案1

我假设这些服务器位于 NAT 路由器后面,以便共享外部 IP。我还假设您需要它们都监听相同的端口号(例如,对于 Web 服务器,端口号为 80 和 443)

如果您无法获得单独的外部 IP 地址,并且两个域必须由单独的物理服务器提供服务,那么据我所知,您唯一的选择就是设置反向代理。

两个 A 记录都指向 NAT 路由器的外部 IP,后者又将请求传递到反向代理的内部 IP。

然后,反向代理会根据 HTTP 请求标头中请求的域将请求分发到正确服务器的内部 IP 地址。

可以执行反向代理角色的服务器软件的一个示例是 nginx,但还有许多其他软件。如果您拥有大型网站并且有大量资金可供使用,也可以使用硬件解决方案。

如果您的方案允许每台服务器侦听不同的端口,那么您可以跳过反向代理步骤,只需在 NAT 路由器上为每台服务器设置单独的端口转发即可。不过,我假设这些是面向公众的 Web 服务器,在这种情况下您不会想这样做。

相关内容