Python 属性错误:';上下文';对象没有属性';包裹U形插座';
我正在尝试设置一个使用OpenSSL上下文的Flask服务器。 但是,由于我将脚本移动到了另一台服务器上,因此无论我使用的是Python 2.7还是3.4,也不管我选择了哪种SSL方法(SSLv23/TLSv1/…),它都会不断抛出以下错误: 相应代码如下:Python 属性错误:';上下文';对象没有属性';包裹U形插座';,python,flask,openssl,werkzeug,pyopenssl,Python,Flask,Openssl,Werkzeug,Pyopenssl,我正在尝试设置一个使用OpenSSL上下文的Flask服务器。 但是,由于我将脚本移动到了另一台服务器上,因此无论我使用的是Python 2.7还是3.4,也不管我选择了哪种SSL方法(SSLv23/TLSv1/…),它都会不断抛出以下错误: 相应代码如下: if __name__ == "__main__": context = SSL.Context(SSL.SSLv23_METHOD) context.use_privatekey_file('key.key
if __name__ == "__main__":
context = SSL.Context(SSL.SSLv23_METHOD)
context.use_privatekey_file('key.key')
context.use_certificate_file('cert.crt')
app.run(host='0.0.0.0', port=80, ssl_context=context, threaded=True, debug=True)
提前非常感谢!我很高兴得到任何帮助从0.10开始,Werkzeug不再支持OpenSSL上下文。之所以做出这个决定,是因为跨Python版本支持更容易。重新编写此代码的选项如下:
if __name__ == "__main__":
context = ('cert.crt', 'key.key')
app.run(host='0.0.0.0', port=80, ssl_context=context, threaded=True, debug=True)
请参阅以了解所有可能性。需要注意的是,
上下文中的crt
和键的顺序是元组的主要部分。获取此错误:'tuple'对象没有“wrap\u socket”属性。
if __name__ == "__main__":
context = ('cert.crt', 'key.key')
app.run(host='0.0.0.0', port=80, ssl_context=context, threaded=True, debug=True)