docker - 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。
解决方案
推荐阅读
- javascript - 如何删除角度的自动对焦?
- r - plot_summs() 改变绘制回归系数的大小
- html - ./ 和 ../ 目录差异
- r - 无法使用 readOGR 加载 shapefile - ogrinfo:所有功能 NULL
- ruby-on-rails - 带有捕获的 Ruby Regexp#match 返回字符串而不是 MatchData
- scala - 对 scala 类型推断和类型不变性感到困惑
- r - 在 sqldf 中处理 CSV 文件中的逗号
- pycharm - PyCharm 没有为另一个 numpy 数组上的方法返回的 numpy 数组提供建议
- javascript - 如何在 Javascript 代码中更改数据库值,但不允许用户在 Javascript 控制台中更改(或访问)数据库值?
- react-native - 无法在 react-native-navigation 中的抽屉上使用 redux