nginx - (从上游读取响应标头时,上游过早关闭连接)..... && 502 bad gateway
问题描述
我在 /var/log/nginx 中收到此错误日志。当我运行该站点时,我在加载 30 秒后得到一个 502 错误网关。如果我删除一些(时间广泛的)代码行一切正常。我编辑了 nginx 配置文件,但我认为这不是问题所在。
我去了:/etc/nginx/sites-available/django,这是我的配置
upstream app_server {
server unix:/home/django/gunicorn.socket fail_timeout=0;
}
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
client_max_body_size 4G;
server_name _;
keepalive_timeout 5;
# Your Django project's media files - amend as required
location /media {
alias /home/django/django_project/django_project/media;
}
# your Django project's static files - amend as required
location /static {
alias /home/django/django_project/django_project/static;
}
# Proxy the static assests for the Django Admin panel
location /static/admin {
alias /usr/lib/python2.7/dist-
packages/django/contrib/admin/static/admin/;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
proxy_buffering off;
proxy_read_timeout 110s;
proxy_send_timeout 110s;
proxy_pass http://app_server;
}
}
我想我需要更改 gunicorn 配置文件中的超时时间,但我不知道那在哪里。我找不到。
解决方案
grep worker_processes /etc/nginx/nginx.conf
worker_processes auto;
将工作进程从“1”更改为“auto”
在你的配置中使用它
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1h;
ssl_buffer_size 4k;
推荐阅读
- php - Php Codesniffer 应该忽略大写字母和句号
- java - 使用 Hibernate 不会触发 MySQL 的“ON UPDATE CURRENT_TIMESTAMP”
- android - 这个鳕鱼显示所有数组列表我想在数组列表中显示第一行,然后单击按钮显示第二行
- svg.js - 在svgjs中的每个元素属性上使用不同的动画属性对单个元素的多个属性进行动画处理
- java - Spring Batch Async Processor - AsyncItemProcessor 不生效,启动时获取作业状态 COMPLETED
- oracle - 如何从 PLSQL Oracle 过程中删除数据或清空游标?
- blazor - 保护 blazor 客户端应用程序的有效程序是什么?
- forms - 有没有办法只接受特定的文件名称而不是文件类型?
- nginx - 如何在来自 nginx 代理服务器的上游请求中传递标头?
- ios - 如何在快速解析时检查用户是否已在注册时使用电话号码或新用户注册的条件