【发布时间】:2017-06-12 16:25:27
【问题描述】:
根据文档...
https://cloud.google.com/appengine/docs/python/sockets/ssl_support https://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27
SSL 版本 2.7.11 支持 TLS v1.0、v1.1 和 v1.2(我需要 TLSv1.2 来进行 APNs 通信)。
还有
Google App Engine/Python 支持 SSL 版本 2.7.11(截至 2016 年 7 月)
当我将它添加到我的 app.yaml ...
libraries:
- name: ssl
version: 2.7.11
...并尝试部署应用程序(通过命令行上的 appcfig.py 或启动器上的“部署”)我收到错误...
Error parsing ./app.yaml: ssl version "2.7.11" is not supported, use one of: "2.7"
如果我指定版本 2.7 或“最新”,我将获得不支持 TLS v1.1 或 v1.2 的 SSL 版本 2.7。如果我在 yaml 的“库”子句中省略 SSL,则导入时的应用程序不支持 ssl 模块。
我应该如何在 TLSv1.2 支持下继续“导入 ssl”? 还是我忽略了 app.yaml 配置选项?
我的 app.yaml 的相关部分如下...
api_version: '1'
runtime: python27
threadsafe: false
instance_class: F2
automatic_scaling:
max_idle_instances: 4
max_pending_latency: 250ms
builtins:
- remote_api: 'on'
- deferred: 'on'
libraries:
- name: django
version: '1.2'
- name: ssl
version: '2.7.11'
inbound_services:
- warmup
【问题讨论】:
-
我相信 SSL 2.7 版确实提供了 TLSv1.2 支持。
-
@GAEfan 使用 app.yaml 中指定的“版本:'2.7'”,已部署应用程序中的 logging.debug(dir(ssl)) 仅确认协议 PROTOCOL_SSLv23、PROTOCOL_SSLv3 和 PROTOCOL_TLSv1 .
-
确保您更新到最新版本的 SDK:cloud.google.com/appengine/docs/python/download 这样应该可以摆脱 2.7.11 错误
-
可能还想要
gcloud components install app-engine-python-extras。不确定 ssl 2.7.11 是否在那里。
标签: python python-2.7 google-app-engine ssl tls1.2