为了提高安全性,自 2025 年 3 月起,我们将弃用对传输层安全协议 (TLS) 1.1 版及更早版本的支持。在 App Engine 标准环境中更新应用设置,以使用 TLS 版本 1.2 及更高版本,以及相应的安全加密套件集。
选择最新的 TLS 版本后,App Engine 会自动屏蔽不安全的流量,而无需您配置全球外部应用负载均衡器来将请求路由到您的应用。
如需升级现有应用以仅使用 TLS 1.2 及更高版本,请按照本指南中的说明操作。
支持的 TLS 版本和加密套件
TLS 连接的安全性取决于协商的加密套件(一种加密算法组合)。这些加密套件由 IANA 值标识,如下表所示:
| TLS 版本 | IANA 值 | 加密套件 |
|---|---|---|
| TLS v1.3 | 0x1301 | TLS_AES_128_GCM_SHA256 |
| 0x1302 | TLS_AES_256_GCM_SHA384 | |
| 0x1303 | TLS_CHACHA20_POLY1305_SHA256 | |
| TLS v1.2 | 0xCCA9 | TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 |
| 0xCCA8 | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | |
| 0xC02B | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | |
| 0xC02F | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | |
| 0xC02C | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | |
| 0xC030 | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | |
| 0xC009 | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | |
| 0xC013 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | |
| 0xC00A | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | |
| 0xC014 | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA |
如果您需要使用其他或限制较少的加密套件,建议您使用全球外部应用负载均衡器。如需了解详情,请参阅 Cloud Load Balancing 文档中的使用 App Engine 设置传统应用负载均衡器,以及 SSL 和 TLS 协议的 SSL 政策。
更新您的应用允许使用的 TLS 版本
您可以使用 Google Cloud 控制台或 gcloud CLI 更新 TLS 版本。如需了解特定工具的操作步骤,请点击首选工具对应的标签页:
控制台
gcloud
创建或更新应用时,请使用 --ssl-policy 标志指定允许的最低 TLS 版本。
如需在创建应用时设置最低 TLS 版本,请执行以下操作:
gcloud app create --ssl-policy=TLS_VERSION
如需在更新应用时设置最低 TLS 版本,请执行以下操作:
gcloud app update --ssl-policy=TLS_VERSION
将 TLS_VERSION 替换为 TLS_VERSION_1_2。 此设置仅允许使用 TLS 1.2 及更高版本,并采用现代加密套件。如果您想允许安全性较低的 TLS 版本(例如 1.0 及更高版本),请将 TLS_VERSION 替换为 TLS_VERSION_1_0。不过,我们建议您更新应用以使用最新受支持的 TLS 版本。
停用自定义 TLS 版本和加密方式
如果您更新应用设置以使用 TLS 1.2 及更高版本,App Engine 会自动屏蔽所有使用 TLS 1.1 及更早版本的不安全流量。
如果您使用 Cloud Load Balancing 和无服务器 NEG 将流量路由到 App Engine 应用,则可以通过定义 SSL 安全政策来停用 TLS 版本或加密方式。指定 HTTPS 或 SSL 连接可使用的 TLS 版本和加密方式。
后续步骤
如需验证和管理 SSL 证书,请参阅使用 SSL 保护自定义网域。
如需让 Cloud Load Balancing 管理传入到自定义网域的请求,请参阅将 App Engine 自定义网域迁移到 Cloud Load Balancing。