如何解决具有Nginx和Gunicorn卷曲的烧瓶:56接收失败:对等方重置连接
我正在使用Nginx和Gunicorn运行flask应用程序,但出现以下错误:
[root@master nginx]# curl http://127.0.0.1
curl: (7) Failed connect to 127.0.0.1:80; Connection refused
[root@master nginx]# curl http://127.0.0.1:80
curl: (7) Failed connect to 127.0.0.1:80; Connection refused
[root@master nginx]# curl http://127.0.0.1:8080
curl: (56) Recv failure: Connection reset by peer
注意:出于某些原因,我不应该使用docker compose。到处都是使用docker组成的示例,不能确定没有docker compose就能实现多容器。
我可以直接访问Flask api端点
[root@master nginx]# curl http://127.0.0.1:5000
Hello,World![root@master nginx]#
我正在运行Flask api docker镜像,如下所示:
docker run -d -p 8080:80 nginx-frontend
我正在像下面那样运行nginx:
docker run -d -p 8080:80 nginx-frontend
nginx和flask都在同一主机上运行,而nginx.conf在下面,我想我在这里做错了
worker_processes 3;
events { }
http {
keepalive_timeout 360s;
server {
listen 80;
server_name 127.0.0.1;
charset utf-8;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
Nginx docker文件:
FROM nginx:1.15.2
RUN rm /etc/nginx/nginx.conf
COPY nginx.conf /etc/nginx
Python Flask Docker文件:
FROM python:3.8-slim
RUN mkdir /app
WORKDIR /app
ADD requirements.txt /app
RUN pip3 install -r requirements.txt
ADD . /app
RUN chmod +x ./entrypoint.sh
EXPOSE 5000:5000
ENTRYPOINT ["sh","entrypoint.sh"]
app.py
from flask import Flask
app = Flask(__name__)
app.config['DEBUG'] = True
@app.route("/")
def hello_world():
return "Hello,World!"
if __name__ == "__main__":
app.run(host='0.0.0.0')
完整的参考代码:
解决方法
尝试 this 解决方案。
您将需要修改 ConfigMap。
见:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ignore_client_abort
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。