如何忽略“始终在线”的仅HTTPS Azure应用服务自定义域设置

问题描述

我有一个作为Azure AppService运行的ASP.Net Core 2.2站点。作为配置的一部分,我有一个自定义域,该域启用了仅HTTPS 设置。

我还在我的Appservice上启用了始终在线设置。

根据本文 https://ruslany.net/2017/11/most-common-deployment-slot-swap-failures-and-how-to-fix-them/启用仅HTTPS 时,会忽略始终在线设置,因此,我的站点总是从第一个调用开始进行冷启动。

根据同一文章,如果处理了{warmup_request},则可以在web.config中设置规则条件以不处理 Redirect to HTTPS 规则。

但是,我的仅HTTPS 是在Azure的自定义域中设置的,而不是在web.config中的规则。

我正在使用以下代码在startup.cs中设置RouteOptions:

services.Configure<RouteOptions>(options =>
{
    options.LowercaseUrls = true;
});

,并相信规则条件也可以使用options.ConstraintMap()完成,但是我不确定表示以下内容所需的语法或方法:

  <match url="(.*)" />
  <conditions>
    <add input="{WARMUP_REQUEST}" pattern="1" negate="true" />
    <add input="{REMOTE_ADDR}" pattern="^100?\." negate="true" />
    <add input="{HTTPS}" pattern="^OFF$" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

在此方面的任何帮助将不胜感激

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)