我有一个不安全的域,想要创建一个安全的子域。在运行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时,我得到一个浏览器故障,说它找不到服务器。
任何帮助都将不胜感激。
发布于 2012-03-14 20:48:22
好了,就像往常一样,这是一系列的问题,而不是一个问题。
首先是防火墙问题-服务器在亚马逊EC2上运行,安全组被设置为阻止端口443上的HTTPS流量。
其次是DNS。虽然在使用HTTP绑定时,子域可以在没有CNAME记录的情况下浏览,但在使用HTTPS时,似乎需要显式的CNAME记录。别问我为什么。
有问题的子域是一个IFrame Facebook应用程序。它在IE和Chrome中呈现得很好,但是火狐抛出了ssl_error_renegotiation_not_allowed错误。这是由于IIS中的SSL设置所致-需要将它们设置为要求SSL (未勾选)或勾选,然后忽略客户端证书
很高兴它现在已经启动并运行了。
发布于 2012-03-14 01:08:30
检查您的域名系统设置,确保您有subdomain.mydomain.com的A或CNAME记录。
仅仅将您的well服务器设置为处理特定的域名并不意味着主机名/域确实存在- DNS系统也必须针对它进行配置。
发布于 2012-04-03 03:32:25
我能够用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>']https://stackoverflow.com/questions/9688588
复制相似问题