July 1, 2019
Django 2.1.10修复了2.1.9中的安全问题。
当部署在通过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的反向代理后面,请务必验证您的应用程序是否正确处理依赖于 scheme , is_secure() , build_absolute_uri() ,以及 SECURE_SSL_REDIRECT 。
5月 28, 2025