我一直在滔滔不绝地试图弄清楚为什么SSL能够在我的Azure项目之一中工作,而不是在另一个Azure项目中工作。无法让SSL在Azure实例上工作
当我导航到我的网站时,说https://foo.com
,我甚至无法连接到该网站。浏览器根本无法连接,卷曲表示为"couldn't connect to host"
。但是,如果我转到我的cloudapp.net网址(例如https://foo.cloudapp.net
),它可以连接,但浏览器会发出抱怨,并说我的证书是*.foo.com
。注:I am能够连接到http://foo.com
没有任何问题。
这里是我的代码与某些值混淆。
ServiceDefinition.csdef中:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="MyApp" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="www" vmsize="Small">
<Sites>
<Site name="Web">
<VirtualApplication name="r" physicalDirectory="../Foo/Bar" />
<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="STAR.foo.com" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<Certificates>
<Certificate name="STAR.foo.com" storeLocation="LocalMachine" storeName="My" />
</Certificates>
</WebRole>
</ServiceDefinition>
我的证书上传,指纹匹配(在这个例子中它也是 “1234567890”)
ServiceConfiguration.csfg:
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="myApp" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">
<Role name="www">
<Instances count="2" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
<Certificates>
<Certificate name="STAR.foo.com" thumbprint="1234567890" thumbprintAlgorithm="sha1" />
</Certificates>
</Role>
</ServiceConfiguration>
Azure控制台:
我已经验证:
我的证书上传
- 这是SHA1
- 它的指纹匹配我在ServiceConfiguration.cscfg所指定(在这个例子中它是“1234567890”)
- 证书颁发机构的证书也存在(对我来说它是“PositiveSSL CA”和“AddTrust External CA root”)
- 对于Azure实例,它确认有2个端点(端口80和端口443)
为什么我根本无法通过https://foo.com
连接,但我的https://foo.cloudapp.net
会加载(尽管触发浏览器警告)?这似乎表明我的配置是正确的,但其他的东西是关闭的...想法?
您可以连接到没有SSL的服务器吗?像http://foo.com一样?确保映射是正确的。 – Tom 2012-03-01 15:55:50
如果foo.com不起作用,请尝试www.foo.com – knightpfhor 2012-03-01 20:49:47
是的,我可以正确连接到http://foo.com,而不是通过SSL。我已更新了我的原始帖子以表明这一点。 – TMC 2012-03-02 01:09:48