我们想在 Windows Azure 云中为我们的应用程序配置 SSL。根据 Windows azure 中的说明(参考:http: //msdn.microsoft.com/en-us/library/windowsazure/ff795779.aspx),
1) 我们从 CA(godaddy) 为我们的域 *.mydomain.com 获得了 SSL 通配符证书
2) CSR 是从托管域 (mydomain.com) 的 Web 服务器生成的。这个托管域指向该 Web 服务器。
3) 为了完成证书,我们将安全证书 (.crt) 上传到托管服务器并从该服务器导出到个人信息交换 (.pfx) 文件。(我确信友好名称与 CN 匹配)。
4)然后我们将.pfx文件上传到windows azure webrole(云服务)。
5) 按照说明,我们将证书指纹添加到服务配置文件中,并设置证书名称="MySSLCert"。
<Certificates>
<Certificate name="MySSLCert" thumbprint="1234567890" thumbprintAlgorithm="sha1" />
</Certificates>
6) 然后,我们添加了在 Azure Project 的服务定义文件中设置的 HTTPS 端点。喜欢,
<ServiceDefinition name="AzureSSLTest" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="SSLTestproject" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<!--<Binding name="Endpoint1" endpointName="Endpoint1" />-->
<Binding name="Endpoint2" endpointName="Endpoint2" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<!--<InputEndpoint name="Endpoint1" protocol="http" port="80" />-->
<InputEndpoint name="Endpoint2" protocol="https" port="443" certificate="MySSLCert" />
</Endpoints>
<Certificates>
<Certificate name="MySSLCert" storeLocation="LocalMachine" storeName="My" />
</Certificates>
<Imports>
<Import moduleName="Diagnostics" />
<Import moduleName="RemoteAccess" />
<Import moduleName="RemoteForwarder" />
</Imports>
</WebRole>
</ServiceDefinition>
发布后,当我们尝试使用 Azure 云 URL 访问应用程序时,我们收到“身份未验证”警告。(来自 Chrome 浏览器)
从 Firefox 浏览器,我们得到错误详情,
testssl.cloudapp.net 使用了无效的安全证书。
该证书仅对以下名称有效:
*.mydomain.com , .mydomain.com(错误代码:ssl_error_bad_cert_domain)
然后,我们创建了子域(test.mydomain.com)并将该子域转发到 Cloud URL(testssl.cloudapp.net),现在我们尝试使用托管子域 URL 访问我们的应用程序,我们收到错误,
此网页无法使用
https://testssl.cloudapp.net/上的网页可能暂时关闭,或者它可能已永久移动到新网址。
错误 501 (net::ERR_INSECURE_RESPONSE):未知错误。
请帮助我,解决这个问题。