我经营着一家小型网站 (www.exampleurl.com),希望能够为客户提供个性化 URL (clientname.exampleurl.com)。这里的重要因素是,个性化 URL 的每个实例都只是原始网站的别名,而不是 IIS 中的新网站实例。
我已经购买了通配符 SSL 证书,但是现在我的托管公司告诉我它只能用于新网站实例,而不能用于别名。
这是真的吗?在 Google 上搜索这些信息出奇地困难。托管服务提供商运行的是 IIS7.5。任何见解都将不胜感激。
答案1
我们需要对 ssl.com 通配符证书进行完全相同的设置。我们这样做了,创建一个如下所示的 dns 条目,其中 xxx.xxx.xxx.xxx 是 exampleurl.com 的 ip 地址。
*.exampleurl.com Host (A) Default xxx.xxx.xxx.xxx
然后确保 exampleurl.com 上的应用可以监听 xxx.xxx.xxx.xxx 上的所有流量,而不管主机标头如何。这样就可以了。
答案2
我刚刚进行了一个小测试:
IIS 7.5,一个正在运行的网站,绑定了
‘https 443 192.168.1.2’
SSL 证书:*.foobar.com(您的通配符证书)
在我的 hosts 文件中,我添加了:
192.168.1.2 test1.foobar.com
192.168.1.2 test2.foobar.com
192.168.1.2 test3.foobar.com
使用:https://test1.foobar.com,https://test2.foobar.com和https://test3.foobar.com在浏览器中一切正常。
您的客户端使用其 URL(clientname.exampleurl.com),DNS 解析 IP 地址,然后浏览器发送请求。IIS7.5 看到 SSL 请求,仅使用 IP 地址(而不是主机名)根据 IP 地址和端口确定要服务的站点。
因为只有一个站点,所以这是可行的。
如果您想对不同的主机名使用不同的站点,则需要在 Server 2012 上升级到 IIS8。
答案3
根据我对通配符 SSL 证书的理解,您可以保护 example.com 的无限子域名和域名本身。这里的主要条件是;它们应该托管在同一个私有 IP 地址上。
这里你需要了解SSL证书的工作原理:
当您将 SSL 证书分配给任何域时,它都会在 Web 服务器上运行,而当您为该域创建别名时,它并不是实际身份,而只是 DNS 转发。当您执行别名时,将执行主域的身份验证,而不是该别名。因此,无法验证您的别名。