Azure 无缘无故强制使用 https?

Azure forcing https for no reason?

TL;DR 更改我的 web.config 文件没有任何作用,尽管整个规则已从 web.config[= 中删除,但所有域都强制使用 HTTPS 13=]

长版:

我之前阅读过本教程,了解如何在您的 Azure 网络应用程序上配置 https 并强制其仅传送 https 内容:

https://azure.microsoft.com/sv-se/documentation/articles/web-sites-configure-ssl-certificate/

现在,我想改变一些子域不强制使用 https,我读到它并被告知您可以将此行添加到您的 web.config 以删除某些域的规则:

<rule name="Force HTTPS" enabled="true">
    <match url="(.*)" ignoreCase="false" />
    <conditions>
        <add input="{HTTPS}" pattern="off" />
        <add input="{HTTP_HOST}" pattern="^subdomain\.mydomain\.com$" negate="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>

这一切看起来不错,但我无法让它工作。现在,这是它变得奇怪的时候:

作为故障排除步骤,我从我的 web.config 中删除了整个 "Force HTTPS" 规则,而 azure 仍然在所有域上强制使用 HTTPS。它仍然适用于普通域,但对于所有没有证书文件的子域,我在尝试连接时收到错误响应。就好像 web.config 文件被缓存了,这意味着所有域都在寻找证书文件,而那些找不到匹配它们的域只是报告有问题。

当我尝试访问子域时,这是我得到的响应:

查看您的 web.config 文件,您在最后一行设置了 redirectType="Permanent"。我怀疑您看到的是浏览器缓存重定向设置的产物。