首页 > 解决方案 > ASP.NET Core 5 强制 HTTPS,除了 Healthcheck

问题描述

因此,我一直在通过 Okta 使用 OpenId-Connect 来查看我们的登录过程存在的问题。该站点在本地按预期工作,并通过 OAuth 调用的完整管道并返回成功登录。但是,当我尝试在应用程序的已部署版本上执行此操作时,它失败了。仔细检查后,看起来登录页面的重定向 URL 使用的是 HTTP 而不是 HTTPS,并且 AWS ELB 正在侦听 HTTPS 的入口。我做了一些挖掘并阅读了如何通过将以下代码添加到我的配置服务部分来进一步实施 HTTPS:

services.AddHttpsRedirection(options =>
{
    options.RedirectStatusCode = StatusCodes.STatus308PermanentRedirect;
    options.HttpsPort = 443;
});

执行此操作后,我的部署管道失败,因为我的运行状况检查开始失败,因为运行状况检查配置为 HTTP 流量,现在返回重定向。如果可能的话,我想避免更改 ECS 任务定义和 docker 文件。我的 ConfigureServices 或 Configure 方法中是否缺少某些内容?我已经在 Configure 中使用了 app.UseHsts() 和 app.UseHttpsRedirection。

标签: dockerasp.net-core-mvcopenid-connectamazon-elb.net-5

解决方案


推荐阅读