如何修复哨兵中缺少的CSRF令牌

时间:2020-07-20 12:47:27

标签: c++ c django sentry

在将哨兵安装到openshift上与哨兵作战之后,我启动并运行它只是发现将事件发送到我的服务器时会抛出此错误:

12:30:59 [警告] django.request:禁止(未设置CSRF cookie。):/ api / 1 / envelope /(status_code = 403 request = ) 10.125.2.1--[20 / Jul / 2020:12:30:59 +0000]“ POST / api / 1 / envelope / HTTP / 1.1” 403 6059“-”“ sentry.native / 0.3.4”

如果我向API发送curl请求,则会得到一个整齐的HTML网页,显示csrf错误。任何人都知道这里可能是什么问题?

2 个答案:

答案 0 :(得分:2)

代理/api/到哨兵中继器。 https://github.com/getsentry/onpremise/blob/master/nginx/nginx.conf

的相关部分
upstream relay { server relay:3000; }
upstream sentry { server web:9000; }
server {
    location /api/store/ { proxy_pass http://relay; }
    location ~ ^/api/[1-9]\d*/ { proxy_pass http://relay; }
    location / { proxy_pass http://sentry; }
}

答案 1 :(得分:-1)

您可以禁用CSRF中间件,或者如果只想对此端点禁用它,则可以使用@csrf_exempt装饰器。