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

自建Sentry登录/找回密码时django.security.csrf跨域禁止错误求助

解决Sentry自托管登录/找回密码时的CSRF跨域禁止问题

问题原因

出现django.security.csrf: Forbidden (Origin checking failed)错误,核心原因是:

  • 你配置的system.url-prefix使用了IP地址,和实际访问的域名https://sentry.domain.com不一致
  • Sentry(基于Django)未将你的访问域名加入CSRF可信源列表,导致POST请求(登录/找回密码)被拦截

解决方案

1. 修正系统访问前缀配置

编辑sentry/config.yml,将system.url-prefix改为实际访问的域名:

system.url-prefix: 'https://sentry.domain.com'

2. 添加CSRF可信源配置

编辑sentry/sentry.conf.py,添加或修改CSRF_TRUSTED_ORIGINS,将你的域名加入列表:

# 在文件中添加以下配置
CSRF_TRUSTED_ORIGINS = [
    "https://sentry.domain.com"
]

注意:Django 3.2+版本要求该配置必须包含完整的协议(https/http)和域名,不能仅填写域名。

3. 检查Nginx的Host头转发配置

确保nginx/nginx.conf中正确转发Host头,添加或保留以下配置:

proxy_set_header Host $host;

这一步保证Django能正确识别请求的来源域名,避免CSRF验证时的不匹配。

4. 重启Sentry服务

执行命令重启所有Sentry容器,使配置生效:

docker-compose down && docker-compose up -d

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:24:56