【问题标题】:How to host multiple site in IIS server with same port but with different host header and accessing it publicly如何在具有相同端口但具有不同主机头的IIS服务器中托管多个站点并公开访问它
【发布时间】:2019-12-26 08:09:07
【问题描述】:

我正在尝试在 IIS 服务器中托管多个网站。我可以使用不同的端口托管它。但我不想为不同的网站使用不同的端口。我也尝试使用主机头,但我只能在本地访问这些头。我想公开/外部访问这些标头。我怎样才能做到这一点?我还配置了 DNS。但我无法公开访问它。 是否可以将 www.test.com 提供给一个站点,将 www.test.com/site2 提供给另一个站点?

【问题讨论】:

  • “我也配置了DNS”,告诉我们你是怎么做到的。

标签: iis iis-7.5 iis-6


【解决方案1】:

IIS 服务器可以托管多个网站,但是为了让 IIS 正确分发 HTTP 请求,每个网站都必须用一些唯一值来标识。对于 IIS 网站,它由三个属性组成,这些属性构成每个网站的唯一组合。

这些是:

  • TCP 端口号
  • IP 地址
  • 主机头

如果您想在同一个端口和 IP 地址上托管多个网站,则必须使用唯一的 Host 标头。

主机标头是客户端向服务器发送的 HTTP 请求的一部分,该请求指定它的地址是哪个网站。因此,必须在 Web 服务器端指定此主机标头,并且 DNS 包含与 Web 服务器的主机名和 IP 地址匹配的正确条目。

您不能像 www.test.com/site2 那样设置主机标头。如果您想使用这种格式,您可以将 site2 作为子应用程序托管在 www.test.com 主机标头包含的站点下。

要创建唯一绑定,请为第二个网站指定另一个名称(主机名)。右键单击 TestSite 并选择编辑绑定。选择您需要的绑定并单击编辑。 在主机名字段中指定用户将寻址到的唯一主机名,例如 TestSite。

现在您需要将服务器的别名(A 或 CNAME)添加到 DNS,以指定您的 Web 服务器的 IP 地址或名称。

您可以在 DNS 控制台 (dnsmgmt.msc) 中为名称 TestSite 创建一个 CNAME 条目,并将您的 IIS 服务器的域名指定为 FQDN 目标主机。

使用 PowerShell:

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.contoso.loc -Name testsite -ZoneName contoso.loc

如果您想访问本地 IIS 服务器,站点名称到服务器 IP 地址的映射是通过文件 C:\Windows\system32\drivers\etc\hosts 完成的。

当您想公开访问网站时,您需要购买域名和公共 IP 地址。如果您不是从公共域名提供商处购买的域名,那么您的域名将无法被互联网客户端解析。

【讨论】:

  • 以上答案看起来像是来自woshub.com/…的部分复制/粘贴(但链接下的文章信息量更大)。
猜你喜欢
  • 2018-02-28
  • 1970-01-01
  • 2013-02-13
  • 2011-12-24
  • 1970-01-01
  • 2013-10-15
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多