deployment - Azure - 在临时部署中处理 SSL

标签 deployment ssl https azure

我有一个托管在 Windows Azure 中的 Web 应用程序。我们希望使用 SSL 进行生产部署,并且我们有一个自定义域名和该域的 SSL 证书,所有这些都已在生产中设置并正常工作。

Web 角色当前同时具有 HTTP 和 HTTPS 端点,但我们希望禁用 HTTP 端点并仅在生产中使用 HTTPS。

如果我们删除 HTTP 端点,我的问题是:在 Azure 中处理临时部署的 HTTPS 端点的最佳方法是什么?每次在 Azure 中进行新的临时部署时,它都会为您提供一个新的服务临时域名。在暂存过程中,我们是否应该根本不使用 SSL 证书,而直接跳过所有浏览器警告,或者当域名随每次部署而更改时,是否有办法在暂存过程中使用 SSL?或者,当我们切换到生产环境时,是否有一种方法可以“关闭”Azure 部署中的 (HTTP) 端点?

我最初的想法是创建两个具有不同端点的包,但我不相信 Azure 会允许您热交换产品和临时部署(如果它们具有不同的端点配置)。

最佳答案

对于我们的一个项目,我们正在使用 URL rewrite module ,默认安装在 Azure 上。效果很好。 web.config 中的一个部分使所有 HTTP 流量自动重定向到 HTTPS:

<rule name="HTTP to HTTPS redirect" stopProcessing="true">
  <match url="(.*)" />
    <conditions>
      <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
  <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>

对于临时环境,最好使用与生产环境相同的证书。这允许在生产和登台之间轻松进行热交换,并且您可以在浏览器中验证证书是否正确。缺点是您在测试暂存部署时必须单击“继续访问网站”。

请注意,虽然 Azure 中始终提供 URL 重写模块,但对于 DevFabric,您必须将其下载并安装在您的开发盒上。下载地址:http://www.iis.com

关于deployment - Azure - 在临时部署中处理 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5824313/

相关文章:

amazon-web-services - 我如何真正将 docker-compose.yml 部署到云端?

ios - 将部署目标 iOS 8.1 在 iPhone 4 iOS 7.1.2 上运行

ssl - 将 SSL 证书上传到 AWS 弹性负载均衡器

java - HtmlUnit 连接到 https

javascript - Node.js,不调用处理程序回调

asp.net - 通过 https 有选择地缓存 .js 和 .png 文件?

caching - 部署后,Angular PWA 服务 worker 不会在离线模式下从缓存中获取 api 响应

ruby - 如何在我的 VagrantFile 中包含变量?

java - JDK 1.6 和 SSL 连接

java - 使用 pcap4J 解密 HTTPS 数据包