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

使用Coolify部署Django应用遇Bad Request 400错误求助

解决Coolify部署Django应用返回400 Bad Request的问题

以下是针对该问题的常见排查和修复方案:

1. 检查ALLOWED_HOSTS配置

Django默认仅允许localhost访问,部署到Coolify后必须将分配的域名或服务器IP添加到ALLOWED_HOSTS中,否则会直接返回400错误。

修改settings.py:

# 替换为你的Coolify域名、服务器IP,允许多个值
ALLOWED_HOSTS = ["your-coolify-app-domain.com", "123.45.67.89"]

# 若测试环境可临时使用通配符(生产环境不推荐)
# ALLOWED_HOSTS = ["*"]

2. 配置CSRF_TRUSTED_ORIGINS(针对POST/PUT等请求)

如果POST请求也返回400,大概率是CSRF信任源未配置。需要将Coolify的应用域名(带协议)添加到CSRF_TRUSTED_ORIGINS:

修改settings.py:

# 注意必须包含完整协议(http/https)
CSRF_TRUSTED_ORIGINS = ["https://your-coolify-app-domain.com"]

3. 开启反向代理头支持

Coolify通常会通过反向代理(如Nginx)转发请求,Django需要识别代理传递的X-Forwarded-*头,否则会判定请求来源非法。

在settings.py中添加以下配置:

USE_X_FORWARDED_HOST = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

4. 验证Coolify的端口映射配置

确认Coolify中你的应用服务的端口映射是否正确:将外部请求端口(通常是80/443)映射到容器内的8000端口(Gunicorn监听的端口)。若映射错误,请求无法正确到达Django服务也可能导致异常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:58:12