.net HTTPS重定向在本地工作,但在azure上不工作
这个问题可能被问了一千遍,但我还是找不到答案 我有一个.NET应用程序,在本地运行时,它会从HTTP重定向到HTTPS。但当部署在Azure Web应用程序中时,重定向将无法工作 基于多个论坛帖子,我的重定向是通过.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”不会自动重定向到“” 但我可以看
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年开始,它是最新的
<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>