Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';上下文';对象没有属性';包裹U形插座';_Python_Flask_Openssl_Werkzeug_Pyopenssl - Fatal编程技术网

Python 属性错误:';上下文';对象没有属性';包裹U形插座';

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

我正在尝试设置一个使用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')
        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)