我有一个托管在Windows Azure中的Web应用程序.我们希望将SSL用于生产部署,并且我们为域提供了自定义域名和SSL证书,所有这些都在生产中设置并正常运行.
Web角色当前同时具有HTTP和HTTPS端点,但我们希望禁用HTTP端点并在生产中使用HTTPS.
如果我们删除HTTP端点,我的问题是:在Azure中处理Staging部署的HTTPS端点的最佳方法是什么?每次在Azure中执行新的分段部署时,它都会为您提供服务的新临时域名.在暂存中,我们是否应该根本不使用SSL证书,只是跳过所有浏览器警告,或者当域名随每个部署发生变化时,是否有办法在登台时使用SSL?或者当我们交换到生产时,有没有办法在Azure部署中"关闭"(HTTP)端点?
我最初的想法是创建两个具有不同端点的软件包,但是如果它们具有不同的端点配置,我不相信Azure会让您热插拔prod和staging deployments.
对于我们的一个项目,我们使用URL重写模块,该模块默认安装在Azure上.它很棒.web.config中的一个部分使所有HTTP流量自动重定向到HTTPS:
对于登台环境,最好使用与生产相同的证书.这允许在生产和登台之间轻松进行热交换,您可以在浏览器中验证证书是否正确.缺点是您必须在测试分段部署时单击"继续访问网站".
请注意,虽然URL Rewrite模块始终在Azure中可用,但对于DevFabric,您必须下载并在开发框中安装它.该下载可在http://www.iis.com上获得.