IIS7,网站端口不同,但浏览器中没有端口号

IIS7,网站端口不同,但浏览器中没有端口号

我有一台安装了 IIS7 的 Windows Server 2008,上面有 4 个网站。在 DNS 中,我有 4 个不同的 URL,它们指向服务器的 IP。我为每个网站配置了网站绑定:

website1:主机名:url1,端口:80,IP 地址:服务器地址

website2:主机名:url2,端口:80,IP 地址:服务器地址

结果是,从客户端,我可以使用所有 4 个 URL 浏览指定的网站,一切正常。

然后我在 IIS 中更改了网站的端口,这样网站 1 现在使用端口 8080,网站 2 使用端口 8081,依此类推。现在我必须使用带有 URL 和端口号的浏览器(例如 URL:8080)。是否有可能为网站配置不同的端口号,但不在浏览器中使用端口号?

答案1

是的,但前提是您的环境包含 NAT 防火墙/路由器和多个外部 IP 地址。

对于 http 连接,仅当浏览器连接端口 80 时,端口号才是可选的。因此,浏览器需要连接到端口 80,以使端口号在 URL 中成为可选的。

以下是一种可能的情况:

  1. 您控制 101.101.101.0/20 子网。
  2. website1.com:DNS“A”记录指向 101.101.101.2
  3. website2.com:DNS“A”记录指向 101.101.101.3
  4. 您的 IIS7 服务器的本地 IP 地址为 192.168.0.67
  5. 防火墙/路由器有一个 NAT 规则,将 101.101.101.2:80 重定向到 192.168.0.67:8080
  6. 防火墙/路由器有一个 NAT 规则,将 101.101.101.3:80 重定向到 192.168.0.67:8081

以这种方式配置防火墙/路由器后,浏览器客户端会认为它们正在连接标准端口 80,因此外部 URL 中无需使用任何端口号。但是,连接将分别路由到您的专用网络上的端口 8080 和 8081。

您是否有特定原因想要在 Web 服务器上使用非标准端口而不需要将它们作为 URL 的一部分输入?

答案2

既然虚拟主机被设计用来处理同一 IP 地址上的多个站点,为什么不直接使用虚拟主机呢?

如果你真的想用困难的方式做这件事,那么像DynDNS 的 WebHop会做你想做的事。

相关内容