【发布时间】:2008-10-21 18:50:44
【问题描述】:
我想知道这方面的最佳做法?我知道有两种方法可以使用 IIS 和托管多个网站。
首先是每个网站都有一个IP
第二个是使用主机头,以及 IIS 的单个 IP 地址
我想知道哪个是最佳实践,为什么应该优先选择一个?
谢谢!
【问题讨论】:
标签: iis hostheaders
我想知道这方面的最佳做法?我知道有两种方法可以使用 IIS 和托管多个网站。
首先是每个网站都有一个IP
第二个是使用主机头,以及 IIS 的单个 IP 地址
我想知道哪个是最佳实践,为什么应该优先选择一个?
谢谢!
【问题讨论】:
标签: iis hostheaders
如果每个站点都有自己的 IP 地址/域名,则 SSL 的实施和管理会更容易。您只需获得该名称的证书并将其安装在该站点上。执行SSL with Host Headers 需要通配符服务器证书,该证书在共享 IP 的所有站点之间实施和同步。您也没有所有网站都在同一个域中的限制。
【讨论】:
我个人根据彼此之间的关系将网站分开。例如,我所有的业务站点都共享一个 IP 地址(目前有 1 个域)。我所有的个人/社区网站共享第二个 IP 地址。
在发送电子邮件时,差异可能会随着时间的推移而出现,因为我知道 IP 在某些黑名单系统中发挥作用,因此如果一个具有共享 IP 地址的站点出现问题,它可能会导致其他使用 IP 地址的站点出现问题那个IP。
我确信还有其他项目、原因和理由,但至少这些是我的……
【讨论】:
就我个人而言,我发现主机头配置使标准网络托管的生活变得非常轻松。
我实际上有数百个站点在多个服务器上使用单个 IP 地址运行 - IIS 和 *nix Apache,都配置为虚拟主机。在实时网络托管环境中,它在 DNS 配置和服务器配置方面都变得更轻松。
我唯一一次使用基于 IP 的分离是我想在不同网络上运行站点,从而为不同网络接口的流量提供服务。
我没有看到主机头方法有任何性能损失,但想听听任何人的恐怖故事 - 肯定有一些:-)
【讨论】:
虚拟主机通常比单独的 IP 地址更好,但你的里程会有所不同。
这实际上是一个网络与系统部署连接。您想查看系统上将拥有的站点和服务的总数。您可能希望它们存在于不同的网络接口上(因此有多个 IP 地址)。您可能希望它们使用绑定的物理接口。
出于安全原因,您可能希望运行需要与其他应用程序分开运行的 Web 应用程序。
上面的其他答案提到了其他因素,例如 SSL、组织边界。 (某些软件确实通过 IP 地址进行关联,例如垃圾邮件控制)。可能还有很多其他我没有想到的因素。
【讨论】:
首选主机标头,因为它们可以节省 IPv4 地址空间。自 HTTP/1.1 以来,它们一直是强制性的。
使用 https 的情况会稍微复杂一些;您需要一个支持 TLS/SSL server_name 扩展(RFC 4366 和以前的 RFC 3546)的现代浏览器。这包括:
当然你的服务器必须支持它。如果您想支持早期的浏览器并使用 SSL/TLS,您需要为每个虚拟主机提供一个 IP 地址;随着这些浏览器过时,您将要共享 TLS/SSL 的 IP 地址。
【讨论】:
【讨论】: