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". У меня это было по умолчанию.