谷歌应用引擎SSL版本2.7.11库支持/不支持

3
根据文档...

https://cloud.google.com/appengine/docs/python/sockets/ssl_support https://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27

SSL Version 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或启动器上的“deploy”)时,我收到了一个错误。
Error parsing ./app.yaml: ssl version "2.7.11" is not supported, use one of: "2.7"

如果我指定版本2.7或“latest”,则会获得没有TLS v1.1或v1.2支持的SSL版本2.7。如果我在yaml的“libraries”子句中省略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

如果有问题,可以在https://code.google.com/p/googleappengine/issues/list上提交一个问题。 - Dan Cornilescu
1
我相信SSL版本2.7确实提供了对TLSv1.2的支持。 - GAEfan
@GAEfan 在 app.yaml 中指定了 "version: '2.7'",在部署的应用程序中使用 logging.debug(dir(ssl)) 可以确认只有三个协议 PROTOCOL_SSLv23、PROTOCOL_SSLv3 和 PROTOCOL_TLSv1。 - Buffalo Rabor
请确保您更新到最新版本的SDK:https://cloud.google.com/appengine/docs/python/download 这样就可以解决2.7.11错误了。 - GAEfan
可能还需要执行gcloud components install app-engine-python-extras命令。不确定是否包含ssl 2.7.11版本。 - GAEfan
显示剩余2条评论
1个回答

3

请确保更新到最新版本的SDK:

cloud.google.com/appengine/docs/python/download

这样就可以摆脱2.7.11错误了。旧版本(2.7.11之前)会出现这个错误。


这正是问题所在。我使用的是GoogleAppEngineLauncher v1.9.36 (1.9.36.544)版本。今天早上下载并安装了v1.9.50 (1.9.50.2)版本,ssl v2.7.11成功部署而没有出现错误。此外,logging.debug(ssl.doc)和logging.debug(dir(ssl))显示了额外的SSL协议,即PROTOCOL_TLSv1_1和PROTOCOL_TLSv1_2。 - Buffalo Rabor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接