我目前在家里运行一台服务器。我使用 freedns.afraid.org 将域名路由到我当前的 IP。
我希望在单独的域上设置额外的服务器。如何最好地实现这一点:
domain1.com -> DDNS -> current ip -> DD-WRT -> server 1
和
domain2.com -> DDNS -> current ip -> DD-WRT -> server 2
答案1
我不确定是否可以在 DDWRT 中完成此路由/定向,而无需执行诸如更改第二台服务器的公共端口之类的操作。例如,如果服务器一默认监听 TCP 端口 80,则让第二台服务器监听 TCP 端口 8080。在这方面,拥有单独的 DNS 域名并不重要。您只需通过 example.com 或 example.com:8080 访问每台服务器即可
如果两台服务器都是 Web 服务器,则另一个选项可能是利用服务器名称指示 (SNI)。您可以在一台服务器上托管两个域,但让它们侦听/绑定到不同的 DNS 域名。这可以在大多数 Web 服务器(Apache、IIS 等)中完成,但是,如果您使用 HTTPS SSL 站点,除非您运行的是 Server 2012 或更新版本,否则 IIS 可能会受到限制。
我能想到的唯一其他东西是在 Apache 之类的程序中设置某种反向代理。它接收请求并将其推送到另一台服务器。请参阅:反向代理/网关
(编辑)
如果尝试针对 FTP 和 SSH 执行此操作,您可能需要在家用设备上使用比 DDWRT 更高级的路由器/防火墙设置(除非有某种 optware 软件包可以实现此功能)您可能能够使用专用的防火墙/路由器设置之一(如 smoothwall)进行设置。否则,像 sonicwall 或 cisco 这样的商用设备应该允许您根据应用程序数据中的 HTTP 标头进行端口转发