将子域名映射到 LAN 上的不同计算机

将子域名映射到 LAN 上的不同计算机

假设我拥有一个域名,我的网络信息。我将 *.mynetwork.info 映射到我的 ISP 提供给我的公共 IP 地址。假设 IP 地址租约是静态的或长期的。

当流量在 DNS 查找并发现我的公共 IP 地址后到达我的路由器时,我希望按如下方式路由请求。

如果 URL 是计算机1.mynetwork.com,转发给私有局域网上的计算机1。

如果 URL 是computer2.mynetwork.com,路线至计算机2在私有局域网上。

我该如何实现这一点?我知道端口转发。还有其他方法吗?IP 地址解析后到达路由器的请求是否包含客户端正在访问的名称?

答案1

您想要的功能对于 HTTP(S) 是可能的,但对于一般所有网络流量来说并非如此。

网络数据包不会被路由到域。发送者首先将域解析为 IP 地址,然后将数据包发送到该 IP 地址,就像没有发生 DNS 解析一样。由于您的所有计算机都共享一个公共 IP 地址,因此无法确定数据包发往哪台计算机(除非您使用不同的端口,但这不是您想要的)。

HTTP 对此类用例有额外规定:请求必须表明它们针对的是哪个域名。

答案2

尝试使用反向代理,例如

  • HAProxy
  • NGINX
  • 阿帕奇
  • 特雷菲克

相关内容