我最近使用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"';
}
}
有谁知道这里发生了什么?