Не работает сайт при SECURE_SSL_REDIRECT = True. Как исправить?

Не работает сайт при 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

Ответы (1 шт):

Автор решения: Max Watson

Вот мое предложение

Вы используете ''.ru для сертификатов и server_name, что выглядит некорректно.

Попробуйте вот так заменить, возможно это решит проблему.

ssl_certificate /etc/letsencrypt/live/site.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem; # managed by Certbot

Так же проанализируйте ответ с помощью

curl -I https://site.ru

Так же чекните что выдает курл

sudo certbot certificates
→ Ссылка