IIS 7和SSL通配符证书

时间:2012-03-13 17:01:37

标签: ssl iis-7

我有一个不安全的域,想要创建一个安全的子域。在运行Windows Server 2008和IIS 7的同一IP地址上。

所以我为* .mydomain.co.uk购买了通配符SSL证书,并在服务器上安装得很好。它正确显示在服务器证书下。

我已经设置了带有HTTP绑定的子域用于测试目的,一切正常 - 所以这不是IIS的问题。然后我在普通443端口上为子域添加HTTPS绑定,因为我已将证书命名为* .mydomain.com,所以在UI中为我启用了主机名框。所以我设置HTTPS绑定,删除HTTP绑定,重新启动网站和IIS。当我浏览到www.mydomain.com时工作正常 - 但是当我浏览到https://subdomain.mydomain.com时,我发现浏览器错误,说它无法找到服务器。

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

好的想出来 - 正常情况下,这不仅仅是一个问题。

首先是防火墙问题 - 服务器在Amazon EC2上运行,安全组设置为阻止端口443上的HTTPS流量。

第二次确实是DNS。虽然在使用HTTP绑定时子域可浏览而没有CNAME记录,但在使用HTTPS时似乎需要显式的CNAME记录。不要问我为什么。

有问题的子域名是针对IFrame Facebook应用程序的。它在IE和Chrome中呈现得很好但Firefox却抛出了ssl_error_renegotiation_not_allowed错误。这是由于IIS中的SSL设置 - 需要将它们设置为要求SSL(未标记)或勾选,然后将客户端证书设置为忽略

P? - 很高兴它现在正在运行。

答案 1 :(得分:0)

检查您的DNS设置并确保您拥有subdomain.mydomain.com的A或CNAME记录。

只是将您的网络服务器设置为处理特定域名并不意味着主机名/域实际存在 - 也必须为其配置DNS系统。

答案 2 :(得分:0)

我能用A记录而不是CNAME来做到这一点。我没有要求SSL勾选。我改用URL重写。
<rule name="redirect to https" stopProcessing="true"> <match url="http://(.*)"/> <conditions> <add input="{HTTPS}" pattern="^OFF$"/> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent"/> </rule>

您还需要使用通配符证书在所有安全子域上设置SSL主机标头。

appcmd set site /site.name:"<IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<hostHeaderValue>']

答案 3 :(得分:0)

想出这个可能会很痛苦,但要找的一件事是

但请确保用于子域的应用程序池的标识具有C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys文件夹的权限。