为啥即使我调用 UseHttpsRedirection ASP.NET Core 重定向也不起作用?

Posted

技术标签:

【中文标题】为啥即使我调用 UseHttpsRedirection ASP.NET Core 重定向也不起作用?【英文标题】:Why does ASP.NET Core redirection not work even if I call UseHttpsRedirection?为什么即使我调用 UseHttpsRedirection ASP.NET Core 重定向也不起作用? 【发布时间】:2021-10-03 03:15:08 【问题描述】:

我有一个 Web 应用程序,它在 Azure AppService 上使用 ASP.NET Core 3.1,并结合了 Azure AD B2C 身份验证。 在我的 Startup.cs 代码中,我调用了 UseHttpsRedirection,但是当我使用 HTTP 协议访问带有空浏览器缓存/或新的隐身会话的站点时,我不会被重定向到 HTTPS。因此,B2C 身份验证不起作用,所以我的应用程序无法正常工作。

This (HTTP) link is not working. This link (HTTPS) does work.

奇怪的是,一旦您访问 HTTPS 站点,然后访问 HTTP 站点,您将看到重定向正在工作。

这里提供的是静态 html 和 JS 文件,由 ASP.NET Core 自托管服务器(在 Linux AppService 上运行)提供服务。

我在这里想念什么?我是否需要在 Azure 或我的代码中进行其他设置?还是我需要 DNS 中的另一条记录?

【问题讨论】:

这两个链接都为我重定向到 HTTPS。 @abdusco 抱歉,目前已解决。我的一位同事忘记在 Azure 中设置“仅 HTTPS”标志。请检查我的答案。 【参考方案1】:

原来你必须去应用服务的协议设置,将“HTTPS only”设置为“on”。

【讨论】:

以上是关于为啥即使我调用 UseHttpsRedirection ASP.NET Core 重定向也不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥即使我调用 UseHttpsRedirection ASP.NET Core 重定向也不起作用?

为啥即使使用单个 reducer 也会调用 Partitioner

为啥即使使用了调用,组合框也会抛出异常

为啥 iPhone GPS 箭头出现在状态栏中,即使我没有在位置管理器上调用 startUpdatingLocation?

为啥即使服务仍然引用它,也会在 DataContract 上调用 Dispose?

为啥即使回调参数与 XML 中的参数不匹配,GObject 方法仍会被调用?