Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net HTTPS重定向在本地工作,但在azure上不工作_.net_Azure_Ssl_Https_Azure Web App Service - Fatal编程技术网

.net HTTPS重定向在本地工作,但在azure上不工作

.net HTTPS重定向在本地工作,但在azure上不工作,.net,azure,ssl,https,azure-web-app-service,.net,Azure,Ssl,Https,Azure Web App Service,这个问题可能被问了一千遍,但我还是找不到答案 我有一个.NET应用程序,在本地运行时,它会从HTTP重定向到HTTPS。但当部署在Azure Web应用程序中时,重定向将无法工作 基于多个论坛帖子,我的重定向是通过Web.config文件中的规则完成的。下面,您可以看到此文件部署在azure上(我使用ftp进行了检查) 在当地,一切正常。重定向在瞬间完成。 但当部署在azure Web应用程序中时,重定向不会发生。 因此“--.azurewebsites.net”不会自动重定向到“” 但我可以看

这个问题可能被问了一千遍,但我还是找不到答案

我有一个.NET应用程序,在本地运行时,它会从HTTP重定向到HTTPS。但当部署在Azure Web应用程序中时,重定向将无法工作

基于多个论坛帖子,我的重定向是通过
Web.config
文件中的规则完成的。下面,您可以看到此文件部署在azure上(我使用ftp进行了检查)

在当地,一切正常。重定向在瞬间完成。 但当部署在azure Web应用程序中时,重定向不会发生。 因此“--.azurewebsites.net”不会自动重定向到“”

但我可以看出,他达到了te规则,因为浏览器选项卡的标题在一瞬间以该规则的名称重命名

如果有人发现这个代码中的愚蠢错误,请告诉我

问候,

我用过

 <rewrite>
  <rules>
    <rule name="Redirect to https">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="Off" />
        <add input="{REQUEST_METHOD}" pattern="^get$|^head$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
    </rule>
  </rules>
</rewrite>


在Azure中相当成功

Azure应用程序服务中提供了一个自动为您执行此操作的扩展

这些方向可能会随着Azure门户的变化而变化,但从2018-05年开始,它是最新的

  • 转到Azure门户中的应用程序服务
  • 单击顶部菜单中的“工具”
  • 在“开发”部分,单击“扩展”
  • 在扩展刀片中,单击顶部的“添加”
  • 在ChooseExtensionsBlade中,选择“将HTTP重定向到HTTPS”
  • 单击“确定”或其他按钮,直到保存为止
  • 之后,您的所有HTTP流量将重定向到HTTPS,无需进行其他更改

        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            <add input="{HTTP_HOST}" pattern="([^/:]*):[^/]*?" />
          </conditions>
          <action type="Redirect" url="https://{C:1}:44362/{R:1}"
              redirectType="Permanent" />
        </rule>
    
     <rewrite>
      <rules>
        <rule name="Redirect to https">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="Off" />
            <add input="{REQUEST_METHOD}" pattern="^get$|^head$" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
      </rules>
    </rewrite>