Слишком много ошибок перенаправления с nginx и django

#django #ubuntu #nginx #ssl #lets-encrypt

#django #ubuntu #nginx #ssl #позволяет зашифровать

Вопрос:

У меня был запущен и запущен мой веб-сайт, я внес некоторые изменения в шаблоны html и перезапустил gunicorn, kill -HUP <pid> прочитав официальную документацию. После этого я сталкиваюсь с этим ERR_TOO_MANY_REDIRECTS в браузере. Что может быть не так в моем файле nginx conf, чтобы это произошло, и как я могу избежать подобных изменений в файлах HTML в будущем?

Я также попытался изменить SECURE_SSL_REDIRECT = True. False в настройках своего проекта, но это тоже не помогло.

 upstream capngo_server {
 server unix:/home/uday/website/cap_env/run/gunicorn.sock fail_timeout=0;
}

server {
    server_name capfoundationindia.com www.capfoundationindia.com;
    
    client_max_body_size 4G;
    access_log /home/uday/logs/nginx-access.log;
    error_log /home/uday/logs/nginx-access.log;
    


    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_hedaer X-Forwarded-Proto https;
        proxy_set_header Host $https_host;
        proxy_redirect off;
        if (!-f $request_filename) {
            proxy_pass http://capngo_server;
            break;
        }
    error_page 500 502 503 504 /500.html;
    location = /500.html {
        root /home/uday/static/;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/capfoundationindia.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/capfoundation.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl--nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencypt/ssl-dhparrams.pem; # managed by Certbot

}

server {
    if ($host = capfoundationindia.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name capfoundation.com www.capfoundation.com;
    return 404; # managed by Certbot
}
 

Комментарии:

1. Этот файл конфигурации неверен. listen , ssl_certificate , и т.д. ключи должны быть внутри server блока. Смотрите Пример конфигурационного файла в конце этой статьи: nginx.com/blog /…

2. @xyres мой плохой. Я обновил содержимое. Можете ли вы проверить сейчас?

3. Теперь все хорошо. if ($host = capfoundationindia.com) Блок не будет перенаправлять, если имя хоста начинается с www . Вы также должны удалить if условие или включить www регистр.

4. @xyres попытался удалить if условие, все еще ERR_TOO_MANY_REDIRECTS сохраняется. На www. Я получаю неверный запрос (400).