CSRF Django Referer检查失败

时间:2015-12-14 09:36:22

标签: django ssl csrf

我最近使用nginx和SSL设置了我的网站Django网站,但有时用户会看到以下错误:

Referrer Checking Failed - https://<domain>.co.uk/register does not match https://<domain>.co.uk

用户也可以通过.com访问该网站,在这种情况下,他们会被重定向到co.uk.我想我已经配置了CSRF设置有问题,但即使使用@csrf_exempt装饰器也不起作用。我在设置中唯一的CSRF设置是:

USE_X_FORWARDED_HOST = True

我的nginx配置如下:

server {

    listen 80;

    server_name <domain>.com www.<domain>.com;

    access_log off;

    listen 443 ssl;

    ssl_certificate /etc/nginx/ssl/<domain>.com.crt;
    ssl_certificate_key /etc/nginx/ssl/<domain>.com.key;

    ...

    location / {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header X-Forwarded-Host $server_name;
            proxy_set_header X-Real-IP $remote_addr;
            add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
    }
}

有谁知道这里发生了什么?

0 个答案:

没有答案