![nginx、gunicorn、Django 499 错误 60s](https://linux22.com/image/738583/nginx%E3%80%81gunicorn%E3%80%81Django%20499%20%E9%94%99%E8%AF%AF%2060s.png)
无论我尝试什么配置,60 秒后都会出现 499 错误。我在 8 核/32GB 服务器上使用 Docker,并且前面还有另一个 nginx/lets-encrypt 反向代理用于其他容器。我更偏向于开发方面。我想我需要在后台运行批处理,如果我无法修复此问题,我将进行探索,但我需要了解此错误。
gunicorn worker运行后好像出现错误:
[2019-06-01 17:49:31 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
[2019-06-01 17:49:31 +0000] [1] [INFO] Using worker: threads
[2019-06-01 17:49:31 +0000] [9] [INFO] Booting worker with pid: 9
[2019-06-01 17:49:31 +0000] [10] [INFO] Booting worker with pid: 10
[2019-06-01 17:49:31 +0000] [11] [INFO] Booting worker with pid: 11
[2019-06-01 17:49:31 +0000] [12] [INFO] Booting worker with pid: 12
[2019-06-01 17:49:31 +0000] [13] [INFO] Booting worker with pid: 13
[2019-06-01 17:49:31 +0000] [14] [INFO] Booting worker with pid: 14
[2019-06-01 17:49:31 +0000] [15] [INFO] Booting worker with pid: 15
[2019-06-01 17:49:31 +0000] [16] [INFO] Booting worker with pid: 16
nginx 版本:nginx/1.15.12
gunicorn 19.9.0
Django 2.2.1
配置 nginx
upstream cobalt {
server cobalt:8000;
}
# Catch all requests with an invalid HOST header
server {
server_name "";
listen 8000;
return 444;
}
# portal
server {
listen 8000;
server_name xxxxxxxx;
location / {
proxy_set_header Host $host;
proxy_pass http://cobalt;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Connection "";
proxy_connect_timeout 1200s;
proxy_read_timeout 1200s;
proxy_send_timeout 1200s;
client_max_body_size 100M;
client_body_buffer_size 100M;
client_body_timeout 1200s;
keepalive_timeout 1200s;
send_timeout 1200s;
uwsgi_read_timeout 1200s;
}
location /static/ {
autoindex on;
alias /static/;
}
location /private-x-accel-redirect/ {
internal;
alias /media/;
}
}
配置 gunicorn
"""gunicorn WSGI server configuration."""
bind = '0.0.0.0:8000'
timeout = 1200
workers = 8
threads = 2
答案1
你解决了这个问题吗?我遇到了同样的问题,但我不知道是什么导致了这个 499 错误。我按照你的方式配置了我的服务器和所有东西。
编辑 1:大家好,我在我的案例中发现了这个问题的根源。由于某种原因,在会话中保存信息:django.session['value1'] = 'value2' 这导致了错误,我删除了 django.session 进行测试,一切正常。我还没有找到解决方案,但一旦我解决了这个问题,我就会在这里更新。
编辑 2:我解决了这个问题,在我的情况下,由于我做了一些事情,无法访问 AWS RDS 中的数据库。我重新创建了数据库,现在一切都运行良好。