![是否可以在具有多个别名(非子域)的一个站点的服务器上安装通配符 SSL 证书](https://linux22.com/image/796383/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%9C%A8%E5%85%B7%E6%9C%89%E5%A4%9A%E4%B8%AA%E5%88%AB%E5%90%8D%EF%BC%88%E9%9D%9E%E5%AD%90%E5%9F%9F%EF%BC%89%E7%9A%84%E4%B8%80%E4%B8%AA%E7%AB%99%E7%82%B9%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%AE%89%E8%A3%85%E9%80%9A%E9%85%8D%E7%AC%A6%20SSL%20%E8%AF%81%E4%B9%A6.png)
我经营着一家小型网站 (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 转发。当您执行别名时,将执行主域的身份验证,而不是该别名。因此,无法验证您的别名。