IIS访问站点没有端口

我已经将我们公司的Intranet网站部署到IIS 7服务器中,添加了以下绑定信息。

IP地址:全部未分配端口:3333域名:subdomain_name.domain_name.com

虽然该网站部署在端口3333,我希望能够访问网站没有端口。

我也添加了在DNS的条目。 我可以ping完全合格的域名(subdomain.domain.com),但是当我在浏览器中添加该url时,我得到了404。

当网站部署在80端口时,它工作得很好。 但是,当我的网站托pipe在除默认端口(80)之外的其他任何东西上时,它不起作用。

有没有办法做到这一点?

当你input一个没有端口的URL时,默认是80端口。

没有我知道的浏览器有任何方法来改变这种行为; 如果你想使用端口3333,那么你需要在URL中。

当您将IIS站点分配给TCP端口时,IIS过程实际上会绑定到TCP端口。 这意味着在该TCP端口上传入的任何连接(在堆栈级别过滤,例如:软件防火墙)都由此IIS站点实例提供服务。

你可以做的是:

  1. 为希望发往站点所在服务器的FQDN创build一个CNAME(如果它位于同一台服务器上,那么可以)。
  2. 创build一个IIS站点以绑定到端口80。
  3. 在站点属性中,在“IP地址”旁边的“网站”选项卡上,单击“高级”。 将主机标题值更改为FQDN。
  4. 然后,在站点属性中的主目录选项卡上,redirect到URL: http:// CNAME:[绑定端口]

例如,用户点击: http:// redmine

  1. redmine的CNAME是192.168.10.101(WEBSERVER2)。
  2. 然后,他们的浏览器连接到192.168.10.101:80(这是默认的TCP HTTP端口,除非另外指定,否则所有的浏览器都会打这个端口)。
  3. 服务于192.168.10.101:80的IIS站点的规则是检查主机标题的源名称命中…匹配,好的…执行redirect规则。
  4. redirect规则将用户的浏览器redirect到http:// redmine:8080

所有的用户所做的是击中http:// redmine

这显然可以让你在一个盒子上托pipe多个网站。 “虚拟主机”,如果你愿意。

您可以使用反向代理将所有HTTP请求静默redirect到另一个端口。 显然,仍然应该有一个绑定到TCP端口80的站点(即没有指定特定端口时使用的端口),您将configuration这个端口来redirect到另一个端口。

使用IIS 7 + URL重写模块+应用程序请求路由(如果您偏好Apache风格的configuration,则可以使用IIS 7 + Helicon Ape)。

问题是 – 如果你可以绑定一个站点到80端口,为什么你需要在端口3333上运行呢?