运行带有自签名证书的Flask时出错“没有此类文件或目录”

2024-10-04 11:30:00 发布

您现在位置:Python中文网/ 问答频道 /正文

运行基于this guide的Flask+自签名证书测试

烧瓶服务器:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
    return '<html><head></head><body><p>blabla</body></html>'

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', port=443, ssl_context=('cert.pem', 'key.pem'))

我使用以下方法生成了证书:

^{pr2}$

当我运行服务器时(sudo python测试.py) 我得到以下错误:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/abuyoyo/.local/lib/python2.7/site-packages/werkzeug/serving.py", line 774, in inner
    fd=fd)
  File "/home/abuyoyo/.local/lib/python2.7/site-packages/werkzeug/serving.py", line 660, in make_server
    passthrough_errors, ssl_context, fd=fd)
  File "/home/abuyoyo/.local/lib/python2.7/site-packages/werkzeug/serving.py", line 601, in __init__
    self.socket = ssl_context.wrap_socket(sock, server_side=True)
  File "/home/abuyoyo/.local/lib/python2.7/site-packages/werkzeug/serving.py", line 511, in wrap_socket
    ssl_version=self._protocol, **kwargs)
  File "/usr/lib/python2.7/ssl.py", line 949, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 560, in __init__
    self._context.load_cert_chain(certfile, keyfile)
IOError: [Errno 2] No such file or directory

我把绝对路径与证书绑定,我尝试了错误的路径,但每次都会得到相同的错误。在


Tags: inpyselfsslhomelibpackagesusr