IIS6 多个 SSL 网站到一个 HTTP 网站?

IIS6 多个 SSL 网站到一个 HTTP 网站?

在 Windows 2003 上运行 IIS6 服务器。所有网站都使用 ASP.NET

我有许多网站,它们都运行着单独的 HTTP 网站:

www.域名1.com www.域名2.com www.域名3.com

我有一个单独的 HTTPS 网站

www.secure.com

这些网站都在同一台服务器上运行。

我现在希望以透明的方式将 www.secure.com 的内容集成到每个域中。这样,每个网站尽管有自己的 SSL 连接,但都显示相同的网站。复杂的是 www.secure.com 需要知道连接来自哪个网站,才能应用适当的品牌。这背后的想法是只有一个网站和位置,但保留核心网站品牌。 https://domain1.com从营销角度来看,它看起来好多了(并且避免了用户对我们的安全网站感到困惑)

SSL www.domain1.com/secure -> 显示 www.secure.com (品牌 domain1)

SSL www.domain2.com/secure -> 显示 www.secure.com (品牌 domain2)

SSL www.domain3.com/secure -> 显示 www.secure.com (品牌 domain3)

实现此目的的最佳方式是什么?如果有必要,我愿意使用其他软件。反向代理是否适合这种情况?

答案1

实现此目的最便宜、最简单的方法是使用子域名。这样您就可以获得通配符证书并仅使用一个 IP 地址。

对于那些仍然遇到此问题的人,请查看有关如何使用通配符证书在 IIS6 上运行多个 SSL 网站

答案2

IIS 6 确实允许您在单个 IP 地址上执行多个 SSL 主机,但需要使用通配符 SSL 证书。Microsoft 有一篇技术文章这里关于如何设置。记住这一点,您可以获取 *.securedomain.com SSL 证书,并使用:

  • site1.com/secure -> site1.securedomain.com
  • site2.com/secure -> site2.securedomain.com
  • site3.com/secure -> site3.securedomain.com

您的应用程序可以查看主机标头,并查看 site1..site2..site3.. 并应用必要的品牌。

想想看,如果您确实使用了通配符 SSL 证书,那么您甚至不需要拥有多个站点,假设您的网站代码知道如何确定它向最终用户显示哪个 HOST(从请求中读取 HOST 标头)。

答案3

我实际上不知道如何在 IIS 中执行此操作(甚至不知道是否可行),但我认为我应该指出,如果要实现此操作,您将需要为每个域设置单独的 IP 地址。这是因为 SSL 握手发生在传递标头信息之前,因此您只能在给定的 IP 地址上安装一个证书。

答案4

如果你能获得多个 IP 地址,这根本不是问题。只需设置它^^您需要确保的是 SSL 绑定设置为特定 IP,而不是默认的“所有 IP”。

相关内容