Как убрать бесконечный редирект после установки сертификата?
Перебрал уже целую кучу мануалов, но ситуация не меняется, попадаю в цикличный редирект после установки SSL сертификата и настройки сервера nginx. Может кто указать, где ошибка:
server {
listen 80;
server_name www.wherefilmed.org wherefilmed.org;
return 301 $scheme://wherefilmed.org$request_uri;
}
server {
listen 443 ssl default_server;
server_name www.wherefilmed.org wherefilmed.org;
ssl_certificate /etc/letsencrypt/live/wherefilmed.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/wherefilmed.org/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
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ugrobug/wherefilmed;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
server {
if ($host = www.wherefilmed.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name www.wherefilmed.org;
listen 80;
return 404; # managed by Certbot
}
server {
if ($host = wherefilmed.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name wherefilmed.org;
listen 80;
return 404; # managed by Certbot
}
Ответы (3 шт):
Уберите фрагент:
server {
listen 80;
server_name www.wherefilmed.org wherefilmed.org;
return 301 $scheme://wherefilmed.org$request_uri;
}
И еще нет неоходиости в условии т.к. в этот блок server не попадет хост иной чем www.wherefilmed.org:
if ($host = www.wherefilmed.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name www.wherefilmed.org;
В другом блоке server аналогично не нужно условие. И не забудьте перечитать конфиг командой nginx -s reload
Вечер добрый! Пересоздайте сертификат letsencript используя cerbot, с параметром no redirect , Так как , с большой вероятностью в выбрали 1 параметр , а именно он и влияет на редирект (прописывая уже https в сертификат , за счёт чего и возникает циклическая переадресация ), копаться в настройках nginx нет смысла .
В итоге сработала следующая настройка сервера.
server {
if ($host = wherefilmed.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name wherefilmed.org;
return 404; # managed by Certbot
}
server {
listen 80;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/wherefilmed.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/wherefilmed.org/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_name wherefilmed.org;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ugrobug/wherefilmed;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}