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

Я пытаюсь настроить NGINX и cloudflare. Я читал об этом в Google, но ничего не решило мою проблему. Мой cloudflare активен в данный момент. Я удалил все правила страницы в 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...

3 ответов


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

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

enter image description here

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


эти вопросы с переадресацией побега приходят все время!

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

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

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

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


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