#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).