Привет и спасибо за помощь.
Я искал и нашел похожие проблемы, но не то, что у меня возникло. Я получаю сообщение «Слишком много перенаправлений» при попытке настроить nginx для обслуживания моего приложения.
Это: 80 конфигурация сервера
server{
listen 80;
listen [::]:80;
server_name app.domain.com;
location /{
# This is an acceptable config: If request went trought http,
# redirect to https server
if ($scheme = "http"){
return 301 https://$host$request_uri;
}
# This is what i REALLY want: If request went trought http (this
# server is listening port 80) and the user agent does not match,
# then redirect to https, else show a specific html
#if ($http_user_agent !~* "SPECIFIC USER AGENT" ) {
# return 301 https://$host$request_uri;
#}
#if ($http_user_agent = "SPECIFIC USER AGENT" ) {
# return 301 https://app.domain.com/specific.html;
#}
}
location /specific.html {
root /home/htmls/;
autoindex off;
}
# This is required for the acme challenge oof Let's encrypt
location /.well-known/acme-challenge {
alias /etc/letsencrypt/webrootauth/.well-known/acme-challenge;
}
}
Это https-сервер: 443
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name app.domain.com;
access_log /var/log/nginx/app-access.log;
error_log /var/log/nginx/app-error.log;
ssl on;
ssl_certificate /etc/letsencrypt/live/app.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/app.comain.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
charset utf-8;
location / {
proxy_redirect off;
proxy_http_version 1.1;
proxy_read_timeout 90s;
proxy_connect_timeout 90s;
#proxy_set_header Host $http_host;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8000;
}
}
Я настроил свое приложение веб-сервера на добавить сертификат SSL. Сайт находится за защитой от облачных вычислений (но отключен для этого конкретного поддомена). Я работаю с Let's encrypt certbot. Мое приложение работало нормально, я обновлял сертификат несколько раз, но в этом последнем случае возникла проблема «слишком много перенаправлений».
Я пробовал почти все, несколько конфигураций шифрования cloudflare. Я могу ответить почти на любой сценарий, который вы могли бы мне задать. В результате всегда получается «слишком много перенаправлений» или сайт недоступен.
Пожалуйста, помогите мне! это сводит меня с ума: S
Вместо того, чтобы позволить всем вашим серверам выполнять перезапись в доменах, почему бы не позволить Cloudflare сделать это со своими правилами трафика. Простая перезапись http: // * -> https: // *
Очевидно, вы можете настроить это, как хотите, и добавить любые страницы ошибок и т. Д., Которые вы хотели бы отображать для пользователя, но гораздо быстрее реализовать это здесь и в результате уменьшить объем трафика, попадающего на исходные серверы.