Не работает сайт при SECURE_SSL_REDIRECT = True. Без нее все работает хорошо. Но как только ставлю True, то браузер пишет, что соединение не защищено. SSL сертификат на сервере установлен. Браузер его видит и в адресно строке пишет, что соединение защищено.
Вот мои настройки проекта. Закомментированные строки - это то, что я пробовал вместе с SECURE_SSL_REDIRECT = True. Ничего не помогло, другой информации я не нашел
SECURE_SSL_REDIRECT = True
#CSRF_TRUSTED_ORIGINS = ['https://site.ru', 'https://www.site.ru']
ALLOWED_HOSTS = ['site', 'www.site.ru', 'IP']
#ALLOWED_HOSTS = ['*']
#PREPEND_WWW = True
#SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
#BASE_URL = "https://www.site.ru"
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
#SECURE_HSTS_SECONDS = 31536000
#SECURE_HSTS_PRELOAD = True
#SECURE_HSTS_INCLUDE_SUBDOMAINS = True
Настройки nginx:
server {
server_name site.ru www.site.ru;
access_log /site/nginx.log;
error_log /site/nginx_error.log;
location /static/ {
alias /site/site/staticfiles/;
}
location / {
proxy_pass http://IP: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"';
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/''.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/''.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.''.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = ''.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name ''.ru www.''.ru;
return 404; # managed by Certbot
}
Чтобы установить сертификат выполнял следующие команды:
1. sudo apt-get install certbot python3-certbot-nginx
2. sudo certbot certonly --nginx
3. sudo certbot install --nginx
4. sudo systemctl restart nginx