如何通过 SSL 运行 Flask/Python3.x?



当我加载页面时,浏览器显示"无法访问此站点">

我的代码:

from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST']) 
def route1():
return f'--- request received ----'
if __name__ == "__main__":
# https://www.name-of-my-domain.com
app.run(port='8443', ssl_context=('./mydir/name-of-my-domain.com.crt', './mydir/private.key'))

我也试过:

from flask import Flask, request, jsonify
from werkzeug.serving import run_simple
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST']) 
def route1():
return f'--- request received ----'
if __name__ == "__main__":
# https://www.name-of-my-domain.com
run_simple('https://www.name-of-my-domain.com/', 8443, app, ssl_context=('./mydir/name-of-my-domain.com.crt', './mydir/private.key'))

以及:

import ssl
# ... as before for app ...
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
context.load_cert_chain('./mydir/name-of-my-domain.com.crt', './mydir/private.key')
run_simple('https://www.name-of-my-domain.com/', 8443, app, ssl_context=context)

但是对于最后两个,我在运行文件时出现错误:

File "bot.py", line 38, in <module>
run_simple('https://www.name-of-my-domain.com', 8443, app, ssl_context=context)
File "/usr/local/lib/python3.6/site-packages/werkzeug/serving.py", line 1052, in run_simple
inner()
File "/usr/local/lib/python3.6/site-packages/werkzeug/serving.py", line 1005, in inner
fd=fd,
File "/usr/local/lib/python3.6/site-packages/werkzeug/serving.py", line 863, in make_server
host, port, app, request_handler, passthrough_errors, ssl_context, fd=fd
File "/usr/local/lib/python3.6/site-packages/werkzeug/serving.py", line 740, in __init__
HTTPServer.__init__(self, server_address, handler)
File "/usr/lib64/python3.6/socketserver.py", line 456, in __init__
self.server_bind()
File "/usr/lib64/python3.6/http/server.py", line 136, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib64/python3.6/socketserver.py", line 470, in server_bind
self.socket.bind(self.server_address)
socket.gaierror: [Errno -2] Name or service not known

我将其排序为主机"0.0.0.0">,它适用于所有三个代码示例("127.0.0.1"不起作用(

最新更新