首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使使用最新的ssl,也不能在Appengine开发服务器上调用Stripe

即使使用最新的ssl,也不能在Appengine开发服务器上调用Stripe
EN

Stack Overflow用户
提问于 2018-03-24 04:51:12
回答 3查看 187关注 0票数 3

我在我的开发服务器上遇到了同样的问题。我已经查看了stackoverflow.com.…/问询/46799365/…但这对我没有用。

python -V

Python 2.7.11

一旦我调用stripe,我就得到了对TLS低于1.2版本的测试模式请求的支持已经被禁用,并将在2018年6月13日取消对实时模式的支持。请使用TLS 1.2或更高版本启动HTTPS连接。您可以在https://stripe.com/blog/upgrading-tls了解更多这方面的信息。

我的app.yaml将ssl设置为“最新”库:- name: django版本:"1.9“-名称: jinja2版本:"2.6”-名称:"0.15“-名称: ssl版本:最新名称: pycrypto:

那么我应该用sandbox.py做点什么吗?我认为我的请求是版本2.16.0,因为我遇到了其他环境问题,而不是。是他的错还是其他原因?

这是准确的错误

代码语言:javascript
复制
PermissionError at /
Request req_DrUOViv9FnjhAx: Support for test mode requests made with versions 
of TLS lower than 1.2 has been disabled, and support in live mode will be dropped on June 13, 2018. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at https://stripe.com/blog/upgrading-tls.
Request Method:
GET
Request URL:
http://localhost:8080/
Django Version:
1.9.5
Exception Type:
PermissionError
Exception Value:
Request req_DrUOViv9FnjhAx: Support for test mode requests made with versions of TLS lower than 1.2 has been disabled, and support in live mode will be dropped on June 13, 2018. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at https://stripe.com/blog/upgrading-tls.
Exception Location:
lib/stripe/api_requestor.py in handle_error_response, line 178
Python Executable:
/Users/USERNAME/PycharmProjects/PROJECTNAME/virtualenv-dev/bin/python
Python Version:
2.7.11
Python Path:
['/Users/USERNAME/PycharmProjects/PROJECTNAME',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine',
 '/Users/USERNAME/PycharmProjects/PROJECTNAME',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine',
 '/Users/USERNAME/PycharmProjects/PROJECTNAME/virtualenv/lib/python2.7',
 '/Users/USERNAME/PycharmProjects/PROJECTNAME/virtualenv/lib/python2.7/lib-dynload',
 '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/django-1.9',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/jinja2-2.6',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/markupsafe-0.15',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/ssl-2.7.11',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/pycrypto-2.6',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/setuptools-0.6c11',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/protorpc-1.0',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/pytz-2017.2',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/webob-1.1.1',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/werkzeug-0.11.10',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/yaml-3.10',
 'lib']
Server time:
Sat, 24 Mar 2018 00:43:28 -0500
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-13 20:13:13

希望这能帮助在这种情况下的人…我有我的IT管理员帮助我,这是一个组合的事情,所以我在这里张贴的解决方案,为我的情况,以拯救其他人从同样的挫折。

这些指令假设您是以管理员身份运行这些命令的

首先删除HomeBrew:

echo -ne 'y\n‘区/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)“sudo rm -rf /usr/local/Homebrew sudo rm -rf /usr/local/Caskroom sudo rm -rf /usr/local/curl

删除安装的其他Pythons (v2)

sudo rm /Library/Frameworks/Python.framework/Versions/2.7 sudo rm -rf“/ -rf /Python2.7”

检查链接并删除在路径中找到的任何有单元格的链接。

ls '../Library/Frameworks/Python.framework/Versions/2.7‘/usr/ -l /bin/bin_ grep _ grep \grep\grep 'Cellar’unlink <##删除您找到的##>

重新安装国产啤酒

echo -ne 'y\n‘bin /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)“

添加openssl

brew安装openssl brew后安装openssl brew链接openssl -强制

必要时强制链接openssl

ln /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/ -s /lib/ ln -s /usr/-s/opt/-s/libssl.1.0.0.dylib/usr/-s/lib/-s

添加Python

brew安装python@2 brew后安装python@2 brew链接python@2 -force

链接openssl和Python (确保您已经安装了这些版本)

ln -s /usr/local/Cellar/openssl/1.0.2o/bin/openssl /usr/local/bin/openssl ln -s /usr/local/c业力/openssl/1.0.2o/bin/openssl /usr/local/ssl/bin/openssl -s /usr/local/Cellar/python/2.7.14/bin/python /usr/local/bin/python

清洁HomeBrew一旦安装

brew清理-s brew桶清理brew prune

从这里开始,命令显示了正确的版本。

python -c‘导入ssl;打印ssl.OPENSSL_VERSION’

票数 0
EN

Stack Overflow用户

发布于 2018-03-24 12:47:22

大约一个月前我花了很多时间在这件事上。这是一个巨大的痛苦,但我终于开始工作了。

我遇到的一个问题是,Brew在其python版本中做了一些非常烦人的事情。它使python成为默认的v3,因此如果在shell中键入python,就会得到v3,而不是v2。我手动更改了'/usr/local/bin‘中的相关符号链接,使v2成为默认链接。

我不记得我所做的所有步骤,但您可能希望您的'/usr/local/bin‘看起来像这样:

代码语言:javascript
复制
openssl -> /usr/local/Cellar/openssl/1.0.2n/bin/openssl
pip -> ../Cellar/python/2.7.14_3/bin/pip2
python -> ../Cellar/python/2.7.14_3/bin/python2

然后,您需要删除您的虚拟服务器并重新创建它们。

请注意,我根本不使用python v3,所以如果您同时需要v2和v3,那么就使用YMMV。

票数 1
EN

Stack Overflow用户

发布于 2018-03-24 06:45:22

除了使用最新的GAE库之外,在本地开发服务器上运行应用程序时,还可能需要升级本地系统的openssl库。

来自如何将Stripe集成从TLS 1.0升级到TLS 1.2? (其他特定操作系统版本分别提到):

并且来自如何升级我的OpenSSL以支持TLS 1.2? (其他特定的操作系统版本分别提到):

如果您正在使用任何其他Linux变体,则需要确保运行openssl version的版本至少为1.0.1。如果没有,则需要进行包更新,并且可能需要升级到较新版本的操作系统。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49461349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档