Очень короткий ответ: добавьте следующий фрагмент в начало файла wp-config.php.
if (strpos($_SERVER[‘HTTP_X_FORWARDED_PROTO’], ‘https’) !== false) $_SERVER[‘HTTPS’]=’on’; else $_SERVER[‘HTTPS’]=’off’;
Подробный ответ:
Привет! Недавно я настраивал веб-сайт WordPress для нашего приложения CV [https://thecvapp.com](https://thecvapp.com), и внезапно URL-адрес wp-admin начал перенаправляться на себя, на тот же самый URL-адрес. И когда это происходит достаточное количество раз, Google Chrome просто выдает ошибку err_too_many_redirects, поскольку, вероятно, это бесконечный цикл. Я использую Cloudflare для управления своим SSL и кэшированием, а также еще кое-что.
Почему это происходит?
Моя настройка SSL Cloudflare была установлена на «Гибкий» режим, это работает следующим образом: браузер отправляет запрос SSL, Cloudflare захватывает его и расшифровывает, а затем отправляет HTTP-запрос на ваш сервер. Это называется «завершением» SSL на уровне Cloudflare.
Ваш веб-сервер в конце концов получает HTTP-запрос. Это очень легко настроить, поскольку вашему серверу не нужно управлять закрытыми ключами, шифрованием и т. д., но это действительно менее безопасно. В конце концов, все является компромиссом!
Какое решение?
Решение состоит в том, чтобы либо прекратить SSL на уровне wordpress, либо правильно настроить SSL, НО более простое решение — добавить следующий фрагмент в начало вашего `wp-config.php`.
if (strpos($_SERVER[‘HTTP_X_FORWARDED_PROTO’], ‘https’) !== false) $_SERVER[‘HTTPS’]=’on’; else $_SERVER[‘HTTPS’]=’off’;
Что это делает, так это проверяет HTTP-заголовок, размещенный Cloudflare, чтобы убедиться, что соединение было SSL и уже было защищено на уровне браузера. Если это так, можно принять, даже если текущий запрос является HTTP.
—
Поздравляем! Продолжайте вести блог как чемпион и подписывайтесь на меня в [@EralpBayraktar](https://twitter.com/EralpBayraktar) :)