我正在尝试使用带有自定义域的 https 公开 Azure 云服务,但出现错误:“请求的服务,'https://mydomain.net/myservice.svc' 无法激活。请参阅服务器的诊断跟踪日志以获取更多信息。”
关于自定义域:我已按照https://www.windowsazure.com/en-us/develop/net/common-tasks/custom-dns/#header-1中的步骤获取第二个选项“一条记录” “:在 Godaddy 的区域文件管理器中,我为“指向”myservice 的“公共虚拟 IP 地址”的“@”主机配置了一条 A 记录(如在 Azure 门户中找到)。在我看来,我得到“无法激活服务”的事实意味着 A 记录正在工作,但我不确定。
关于 https:我已经按照http://www.31a2ba2a-b718-11dc-8314-0800200c9a66.com/2011/06/how-to-get-and-install-ssl-certificate.html的步骤进行操作。简而言之:我使用我的开发机器上的 CSR 为 mydomain.net 从 godaddy 购买了一个证书,使用友好名称 mydomain.net 在我的开发机器上完成了 CSR,使用该文件将其导出到 mydomain.net.pfx,上传将证书添加到 Azure 中的云服务,并使用证书在 VS 中配置我的 WebRole,并将 Web 角色项目发布到 Azure。
在客户端(WP7):
<bindings>
<basicHttpBinding>
<binding name="BasicHttpsBinding_IMyInterface"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="Transport" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint name="BasicHttpsBinding_IMyInterface"
address="https://mydomain.net/myservice.svc"
contract="MyService.IMyInterface"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpsBinding_IMyInterface" />
</client>
注意:我没有使用 CName,因为我的证书不适用于子域,也不是通配符。
从我的搜索中,我得到的印象是这对其他人有用,我无法弄清楚我在做什么不同。