You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Django、Gunicorn、Nginx的应用出现400 Bad Request错误求助

Django + Gunicorn + Nginx部署400 Bad Request问题求助

我折腾这个问题好久了一直解决不了,来求帮忙。我用Django REST Framework、Gunicorn和Nginx搭建应用,架构是Gunicorn运行Django服务,Nginx持有SSL证书做反向代理。查了不少部署指南,但都没解决问题。

Django通过Unix套接字连接Gunicorn,Nginx监听80和443端口(443端口用于SSL访问)。试了各种办法,访问API域名时始终出现400 - Bad Request错误。已经确认Gunicorn和Django应用本身没有问题,问题出在Nginx配置环节。

我的Nginx sites-available配置文件(部分信息已脱敏):

server {
    listen 80;
    server_name www.querymarketplace.net;
    return 301 http://querymarketplaceapi.net$request_uri;
}

server {
    listen 80;
    server_name querymarketplaceapi.net 157.245.10.103;

    location /static/ {
        root /home/jbisc/qm_marketplace/;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/jbisc/qm_marketplace.sock;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $server_name;
    }
}

server {
    listen 443 ssl;
    listen [::]:443 ssl; # Optional: Add IPv6 support
    server_name querymarketplaceapi.net;

    ssl_certificate /etc/letsencrypt/live/querymarketplaceapi.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/querymarketplaceapi.net/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location /static/ {
        root /home/jbisc/qm_marketplace/;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/jbisc/qm_marketplace.sock;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $server_name;
    }
}

内容的提问来源于stack exchange,提问作者ranked_dev28

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 06:15:05