多个 DNS 条目指向服务器的不同“部分”

多个 DNS 条目指向服务器的不同“部分”

我想要两个子域名:

a.myawesomewebsite.com
b.myawesomewebsite.com

指向我拥有的 VPS 的不同“部分”。一个“部分”是该服务器上运行的 HTTP 服务器,另一个是通向我的家庭服务器的 SSH 隧道,所有较大且较少使用的文件都存储在该服务器上。有办法做到这一点吗?

注意:我无法将其直接指向我的家庭服务器,因为我的 ISP 将所有互联网流量 NAT 到伦敦的一台服务器,所以显然没有端口转发,我必须使用 SSH 隧道。

提前致谢。

答案1

我必须假设你问的是两个网站(即,主 SSH 隧道通向另一个 HTTP 服务器),因为这样问题最有意义。

因此,如果您希望http://a.example.com通过http://b.example.com同一台服务器连接到不同的网站,您有两种选择:

  • 将您的 Web 服务器配置为“反向代理”。nginx 和 Apache 都具备此功能,并且支持按域和按 URL 配置 - 因此,您可以拥有一个 VirtualHost,它只在域 A 上为您的普通网站提供服务,另一个 VirtualHost 将代理请求到您的 SSH 隧道主机。

    (这与在同一个 Web 服务器上拥有两个“普通”域名相同,唯一的区别是附加ProxyPass参数。)

    如果您当前的 Web 服务器不支持反向代理功能,那么您可以在其前面安装一个反向代理(可以是相同的 Apache/nginx,也可以是专用的 haproxy 等)。

  • 为您的服务器购买第二个 IPv4 地址,然后配置 Web 服务器以监听(“绑定到”)其中一个地址上的连接,并将 SSH 隧道绑定到另一个地址。将每个 DNS 域指向相应的 IPv4 地址。

相关内容