Django 1.11.22发布说明

July 1, 2019

Django 1.11.22修复了1.11.21中的安全问题。

UTE-2019-12781:通过HTTPS反向代理连接的HTTP检测不正确

当部署在通过HTTPS连接到Django的反向代理后面时, django.http.HttpRequest.scheme 会错误地将通过HTTP发出的客户端请求检测为使用HTTPS。这会导致错误的结果 is_secure() ,以及 build_absolute_uri() ,并且根据 SECURE_SSL_REDIRECT

HttpRequest.scheme 现在尊重 SECURE_PROXY_SSL_HEADER (如果已配置),并且在请求上设置了适当的标头(针对HTTP和HTTPS请求)。

如果您将Django部署在转发HTTP请求并通过HTTPS连接到Django的反向代理后面,请务必验证您的应用程序是否正确处理依赖于 schemeis_secure()build_absolute_uri() ,以及 SECURE_SSL_REDIRECT