【问题标题】:How to make the cookie authentication middleware redirect to https URIs?如何使 cookie 身份验证中间件重定向到 https URI?
【发布时间】:2019-01-11 21:33:50
【问题描述】:

我正在使用cookie authentication without ASP.NET Core Identity。对于未经身份验证的请求,中间件将浏览器重定向到登录页面。重定向的目标 URI 始终使用 http 方案,即使初始请求使用 HTTPS。我希望重定向始终使用 HTTPS,但我不知道如何使其工作。

这是我目前发现的:

  1. 当我在本地运行 Kestrel 时,它工作
  2. 在我的虚拟主机上不起作用
  3. 我的网络主机使用 IIS 作为 kestrel 的反向代理。
  4. Https 请求以 http 形式到达托管的 Kestrel。
  5. cookie 身份验证中间件使用请求方案来构建重定向 URI。由于 4) 这总是会导致重定向到 http-URI。

我该如何解决这个问题? 我可以将 IIS 配置为使用 HTTPS 与 Kestrel 通信,还是可以强制中间件输出 https-URI?

【问题讨论】:

  • 您是否尝试过添加 https 重定向中间件
  • @Neville 是的,我已经添加了那个中间件。没关系,对不起。

标签: cookies asp.net-core https


【解决方案1】:

对于app.UseHttpsRedirection();,您需要指定HTTPS Port

转到launchSettings.json 并将iisSettings.iisExpress.sslPort 更改为有效的端口号,例如44371

如果指定端口后启动项目失败,尝试Project Property->Debug->勾选Enable SSL->Save

【讨论】:

    猜你喜欢
    • 2011-12-13
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 2019-10-11
    • 1970-01-01
    • 2020-12-10
    • 2019-06-01
    相关资源
    最近更新 更多