Gunicorn、Flask Server搭配Nginx反向代理外网访问超时问题
Nginx反向代理Flask(Gunicorn)外网访问超时问题
问题背景
尝试通过Nginx反向代理从外网访问Gunicorn运行的Flask服务,但每次连接均出现ERR_CONNECTION_TIMED_OUT错误。确认Flask代码无问题,怀疑问题出在Nginx配置。
相关配置信息
Flask代码
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "<h1 style='color:blue'>Hello There!</h1>" if __name__ == "__main__": app.run()
Gunicorn监听状态
通过netstat查看,Gunicorn进程监听127.0.0.1:8000:
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 16664/python3
Nginx反向代理配置
配置文件路径:/etc/nginx/sites-available/flaskSrv,内容如下:
server { listen 5000; server_name mydomain.com www.mydomain.com; access_log /var/log/nginx/accesslog.log location / { proxy_pass http://127.0.0.1:8000/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Prefix /; } }
问题现象
访问https://example.com:5000/或http://example.com:5000/时,均触发ERR_CONNECTION_TIMED_OUT错误。
临时解决方案
后续通过JS Ajax调用PHP脚本,再由PHP通过system函数调用Python脚本,绕开反向代理问题实现了功能。
内容的提问来源于stack exchange,提问作者Ambotz
相关产品推荐
相关产品推荐

