Cloudflare и nginx: слишком много перенаправлений

Я пытаюсь настроить NGINX и cloudflare. Я читал об этом в Google, но ничто не решило мою проблему. Моя облачная активность активна в данный момент. Я удалил все правила страницы в cloudflare, но до того, как domain.com и www.domain.com использовали HTTPS. Я думал, что это может вызвать проблему, поэтому я удалил ее. Вот мой файл default NGINX, с целью разрешить доступ только по доменному имени и запретить доступ по IP-адресу веб-сайта:

server{

  #REDIRECT HTTP TO HTTPS

  listen 80 default;
  listen [::]:80 default ipv6only=on; ## listen for ipv6
  rewrite ^ https://$host$request_uri? permanent;

}

server{

  #REDIRECT IP HTTPS TO DOMAIN HTTPS       

    listen 443;
    server_name numeric_ip;
    rewrite ^ https://www.domain.com; 

}

server{

  #REDIRECT IP HTTP TO DOMAIN HTTPS

    listen 80;
    server_name numeric_ip;
    rewrite ^ https://www.domain.com;

}

server {

         listen 443 ssl;
         server_name www.domain.com domain.com;
         #rewrite ^ https://$host$request_uri? permanent;
         keepalive_timeout 70;

         ssl_certificate     /ssl/is/working.crt;
         ssl_certificate_key /ssl/is/working.key;

         ssl_session_timeout 1d;
         ssl_session_cache shared:SSL:50m;

         #ssl_dhparam /path/to/dhparam.pem;

         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM$
         ssl_prefer_server_ciphers on;

         add_header Strict-Transport-Security max-age=15768000;

         (...) more ssl configs

Что может быть отключено? При необходимости я предоставим информацию о mroe...

Ответы

Ответ 1

После опросов выяснилось, что это связано только с Cloudflare. Потому что перед переходом на Coudflare у меня не было проблемы с перенаправлением.

В моем случае было просто исправить это. Выберите [Crypto] и выберите Full (строгое), как на изображении.

введите описание изображения здесь

Действительно, вы можете попробовать это сначала перед любыми другими действиями.

Ответ 2

Эти вопросы с переадресацией при запуске появляются все время!

Обычно проблема заключается в том, что ответы 301 Moved Permanently часто кэшируются в браузерах "навсегда", и часто никоим образом не Ctrl R и Ctrl Shift R, чтобы очистить весь кеш. (Это одна из причин, почему я часто предпочитаю 302 Found/302 Moved Temporarily, особенно на этапе разработки, потому что ответы 302 вообще не кэшируются по умолчанию.)

Кроме того, если у вас был HSTS в прошлом, и он был успешно загружен и тихо установлен браузером под капотом и никогда не был явно очищен и еще не истек, тогда браузер никогда не будет делать последующие запросы более http:// до тех пор, пока политика не будет очищена - все запросы всегда будут превышать https://.

Что касается размещения CloudFlare в миксе, разве это не облегчает необходимость иметь так много разных определений серверов и перенаправления в первую очередь, так как ваш IP-адрес должен быть скрыт? Я не уверен, что это хорошо для того, чтобы скрыть ваш IP-адрес за CloudFlare, но открыто раскрывать имя домена, которое оно обслуживает для любого, кто делает глобальное интернет-сканирование.

Как вы уже проходили через все "SSL-режимы", предлагаемые CloudFlare, я предлагаю изменить все ваши 301 permanent перенаправления на 302 временные redirect (если не удалить все из них в целом в первую очередь), очистите кеш браузера, а затем повторите попытку обхода параметров ssl.: -)

Ответ 3

Перейдите в раздел "Правила страницы" и проверьте, есть ли правило "всегда переадресовывать https". У меня это было по умолчанию.