【问题标题】:What is the difference between UseHttpsRedirection and UseHstsUseHttpsRedirection 和 UseHsts 有什么区别
【发布时间】:2019-03-04 12:17:44
【问题描述】:

在.net core 的启动文件的配置部分,我不太明白UseHstsUseHttpsRedirection 之间的区别。谁能解释一下?

【问题讨论】:

  • 一个发生在浏览器端(HSTS),另一个发生在服务器端。

标签: asp.net .net .net-core


【解决方案1】:

根据文档,您应该同时使用两者:

我们建议所有生产 ASP.NET Core Web 应用调用:

  • HTTPS 重定向中间件 (UseHttpsRedirection) 将所有 HTTP 请求重定向到 HTTPS。
  • UseHsts,HTTP 严格传输安全协议 (HSTS)。

ASP.NET Core Enforce HTTPS

.UseHttpsRedirection() 将发出从 http 重定向到 https 的 HTTP 响应代码。 .UseHsts() 将添加 HSTS 响应 header which the client is supposed to obey.

【讨论】:

  • UseHttpsRedirectionUseHsts 都没有阻止传入的 http 请求?所以基本上它们只是对浏览器的说明?
  • 它们不会阻止传入的请求。 UseHttpsRedirection 应该发出从 http 到 https 的重定向。 UseHsts 是一个标头,用于提醒浏览器,当他们回到这个站点时,跳过最初的 http 请求,直接转到 https。如果您想完全阻止 http,您需要在您的主机(iis、apache 等)上执行此操作。
【解决方案2】:

UseHttpsRedirection和UseHsts有什么区别

我们建议所有生产 ASP.NET Core Web 应用调用:HTTPS 重定向中间件( UseHttpsRedirection )重定向所有 HTTP 对 HTTPS 的请求。使用Hsts,HTTP严格传输安全协议 (HSTS)。 ASP.NET Core 强制使用 HTTPS。这 。 UseHttpsRedirection() 将 发出 HTTP 响应代码

【讨论】:

  • 您似乎在引用消息来源。包括来源。
  • 是的,我会在这之后做,谢谢先生
  • 我已经配置了UseHttpsRedirection,然后当我通过Postman向api发出http请求时,它工作正常。它不会发回任何重定向消息。它不应该用一些重定向消息来响应吗?
【解决方案3】:

UseHstsStrict-Transport-Security 标头添加到响应中,通知浏览器应用程序只能通过 HTTPS 访问。 在此声明之后,兼容的浏览器应自动将应用程序的任何 http 请求转换为 HTTPS 请求。

UseHttpsRedirection 会在收到 HTTP URL 时自动重定向到 HTTPS URL,从而强制建立安全连接。

一旦建立第一个 HTTPS 安全连接,strict-security header 就会阻止将来可能用于执行中间人攻击的重定向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    • 2012-03-14
    • 2012-02-06
    • 2011-02-25
    • 2011-11-22
    • 2015-03-26
    相关资源
    最近更新 更多