是否可以在azure应用服务上禁用HTTP,而不仅仅是将其重定向到HTTPS

时间:2018-01-22 21:14:14

标签: azure azure-web-sites

在azure app服务中,您可以通过web.config文件或通过azure门户中的自定义域刀片将HTTP流量重定向到HTTPS。是否可以在不进行重定向的情况下完全禁用HTTP?

1 个答案:

答案 0 :(得分:8)

以下是实现此目的的方法:

  • 转到Kudu控制台获取Web App
  • 进入D:\home\site文件夹
  • 在该文件夹中创建一个名为applicationhost.xdt的文件,其中包含以下内容(您可以将其从本地计算机拖放):

    <?xml version="1.0"?>
    <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
      <location path="%XDT_SITENAME%" xdt:Transform="InsertIfMissing" xdt:Locator="Match(path)">
        <system.webServer xdt:Transform="InsertIfMissing">
          <rewrite xdt:Transform="InsertIfMissing">
            <rules xdt:Transform="InsertIfMissing">
              <rule name="Disable HTTP" enabled="true" stopProcessing="true">
                <match url="(.*)" ignoreCase="false" />
                <conditions>
                  <add input="{HTTPS}" pattern="off" />
                  <add input="{WARMUP_REQUEST}" pattern="1" negate="true" />
                </conditions>
                <action type="CustomResponse" statusCode="401" />
              </rule>
            </rules>
          </rewrite>    
        </system.webServer>
      </location>
    </configuration>
    

这将使http请求失败并显示401(您可以在<action>标记中自定义响应。)