我已经在gunicorn
后面使用nginx
托管了我的Django休息框架API服务器。当我在请求中使用小主体将{API nginx
命中时,响应就会出现。但是,如果有大的有效负载,它就不会返回200 OK响应。
但是,当我直接点击gunicorn
时,它会返回正确的响应。
如果请求有效负载很大,NGNIX正在搞乱响应。
我通过tcpdump
抓取了数据包,显示响应中包含MALFORMED PACKET
。以下是TCP转储:
[Malformed Packet: JSON]
[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
[Malformed Packet (Exception occurred)]
[Severity level: Error]
[Group: Malformed]
NGINX配置:
server {
listen 6678 backlog=10000;
client_body_timeout 180s;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 120s;
proxy_connect_timeout 120s;
proxy_pass http://localhost:8000;
proxy_redirect default;
}
}
我从未见过NGINX在我身上打得很努力。任何帮助赞赏。