【问题标题】:HSTS headers for Django + Nginx projects - should the headers be set by Django SecurityMiddleware or Nginx?Django + Nginx 项目的 HSTS 标头 - 标头应该由 Django SecurityMiddleware 还是 Nginx 设置?
【发布时间】:2019-05-02 07:09:14
【问题描述】:

HSTS = HTTP 严格传输安全

来自Django Docs on HSTS

对于只能通过 HTTPS 访问的网站,您可以通过设置“Strict-Transport-Security”标头来指示现代浏览器拒绝通过不安全的连接(在给定的时间段内)连接到您的域名。这可以减少您遭受一些 SSL 剥离中间人 (MITM) 攻击的风险。

如果您将 SECURE_HSTS_SECONDS 设置设置为非零整数值,SecurityMiddleware 将为您在所有 HTTPS 响应中设置此标头。

不过这个头也可以由 Nginx 在 conf 文件中设置,通过添加一行:

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains;";

那么问题来了,我们应该通过在项目设置文件中添加 HSTS 设置来配置 Nginx 以设置此标头还是 Django SecurityMiddleware?

【问题讨论】:

    标签: django nginx hsts


    【解决方案1】:

    这完全取决于您。如果您运行多个站点,则在网络服务器设置中设置全局值可能会更容易。但是,如果您在 Django 中设置它,则将您的应用程序移动到新的网络服务器会更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-04
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多