---
title: "Django 2.2.3 版本发行说明"
version: 6.0
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/6.0/releases/2.2.3/
canonical: https://djangodocs.dev/zh-hans/6.0/releases/2.2.3/
---
# Django 2.2.3 版本发行说明

*2019 年 7 月 1 日*

Django 2.2.3 修复了 Django 2.2.2 中的一个安全问题和若干个错误。此外，还整合了来自 Transifex 的最新字符串翻译。

## CVE-2019-12781 ：通过 HTTPS 连接的反向代理中，HTTP 检测不正确。

当部署在反向代理后面，通过 HTTPS 连接到 Django 时，[`django.http.HttpRequest.scheme`](/zh-hans/6.0/ref/request-response/#django.http.HttpRequest.scheme) 会错误地将客户端通过 HTTP 发送的请求检测为使用 HTTPS。这导致了 [`is_secure()`](/zh-hans/6.0/ref/request-response/#django.http.HttpRequest.is_secure) 和 [`build_absolute_uri()`](/zh-hans/6.0/ref/request-response/#django.http.HttpRequest.build_absolute_uri) 的不正确结果，以及 HTTP 请求不会根据 [`SECURE_SSL_REDIRECT`](/zh-hans/6.0/ref/settings/#std-setting-SECURE_SSL_REDIRECT) 进行重定向到 HTTPS。

现在，`HttpRequest.scheme` 会根据配置的 [`SECURE_PROXY_SSL_HEADER`](/zh-hans/6.0/ref/settings/#std-setting-SECURE_PROXY_SSL_HEADER)，如果已配置，并且请求上设置了适当的标头，对于 HTTP 和 HTTPS 请求都会进行相应的处理。

如果您在反向代理后面部署 Django，该代理转发 HTTP 请求并通过 HTTPS 连接到 Django，请确保验证您的应用程序正确处理依赖于 `scheme`、`is_secure()`、`build_absolute_uri()` 和 `SECURE_SSL_REDIRECT` 的代码路径。

### 漏洞修复

- 修复了 Django 2.2 中的一个回归问题，其中 [`Avg`](/zh-hans/6.0/ref/models/querysets/#django.db.models.Avg)、[`StdDev`](/zh-hans/6.0/ref/models/querysets/#django.db.models.StdDev) 和 [`Variance`](/zh-hans/6.0/ref/models/querysets/#django.db.models.Variance) 在使用 `filter` 参数时崩溃 ([#30542](https://code.djangoproject.com/ticket/30542))。
- 修复了 Django 2.2.2 中的一个回归问题，其中自动重新加载器在出现 `AttributeError` 时崩溃，例如在使用 `ipdb` 时 ([#30588](https://code.djangoproject.com/ticket/30588))。
