Как исправить ошибку слишком много перенаправлений в браузере
Сайт выполнил переадресацию слишком много раз.
С WordPress получился нюанс. Если просто взять сайт и перенести его на такую схему — ничего не заработает. Первая ошибка, с которой столкнетесь, будет с бесконечным редиректом.
Сайт выполнил переадресацию слишком много раз.

Я немного удивился ошибке, но после того, как пораскинул мозгами, понял, в чем ее причина. Помог мне в этом один из заголовков главной страницы сайта во время редиректа — x-redirect-by: WordPress.

Запрос приходит на внешний сервер по https, дальше он его перенаправляет на бэкенд по http, где работает wordpress. У него в настройках указано, что он живет по адресу с https и он на него редиректит сам. Запрос опять возвращается на proxy и так по кругу.
Я решил эту проблему следующим образом. На прокси добавил еще один заголовок.
location / {
proxy_pass http://10.20.50.3:80;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
}
А в сам wordpress в файл wp-config.php, который лежит в корне сайта, добавил следующие строки.
if($_SERVER == 'https'){
$_SERVER = 'on';
$_SERVER = 443;
}
После этого бесконечный редирект прекратился и сайт заработал. Я думал, что на этом все. Оказалось — нет. Возникла еще одна ошибка.
Что это значит ERR_TOO_MANY_REDIRECTS?
В большинстве случаев указанная проблема ERR_TOO_MANY_REDIRECTS возникает на браузере Гугл Хром более ранних версий (по словам разработчиков – до 44 версии Хром). В переводе текст сообщения звучит как «Слишком много редиректов», и обычно означает ситуацию, при которой пользовательский браузер переходит на какую-либо страницу, с которой его отправляют на следующую страницу, затем на другую страницу и так далее (или идёт замыкание цикла на уровне «А указывает на Б, а Б указывает на А»).

Ранее подобные циклы могли длиться до бесконечности, а компьютер зависал на неопределённое время
Если старые версии браузеров полностью «погружались» в такой цикл на неопределённое время, то современные версии браузеров самостоятельно выходят из такой бесконечности редиректов, сигнализируя об ошибке сообщением «TOO_MANY_REDIRECTS».
Похожими сообщениями об ошибке являются описанные ранее в нашем блоге IT-DOC:
- ERR_FILE_NOT_FOUND;
- ERR_NETWORK_CHANGED;
- 500 Internal Server Error.







