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