WordPress перенаправляет на 127.0.0.1 при доступе к сайту с удаленного устройства
Я установил сайт WordPress на локальный сервер Apache Ubuntu 18.04 с фиксированным IP 192.168.100.150
.
Сайт нормально работает локально (localhost/wordpress
), но когда я пытаюсь открыть его с другого устройства (192.168.100.150/wordpress
), он автоматически перенаправляет меня на 127.0.0.1/wordpress
и я получаю сообщение об ошибке "127.0.0.1/wordpress
отказал в соединении".
В чем проблема?
Возможно, ваш случай отличался от моего, но я хочу поделиться, как я решил эту проблему, надеясь, что это будет полезно для других людей.
В моем случае проблема была вызвана плагином All In One Wordpress Security (AIOWS) из-за настройки "IP RETRIEVAL SETTINGS".
Мой сайт размещен на AWS, в среде Elastic Beanstalk, и у меня есть несколько экземпляров за балансировщиком нагрузки. В этом случае, похоже, последняя версия этого плагина больше не может корректно определять IP-адреса клиентов и начинает блокировать их, перенаправляя на 127.0.0.1.
Я решил эту проблему, просто изменив эту настройку с "REMOTE_ADDR (по умолчанию)" на "HTTP_X_FORWARDED_FOR".
Вы можете изменить это в: "WP Security" => "Настройки" => "Расширенные настройки":

Вы можете добавить следующую конфигурацию в wp-config
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
Или обновить значения в базе данных в таблице wp_options. Настройки URL находятся в строках siteurl и home в колонке option_name

Если вы столкнулись с подобной проблемой, сначала проверьте файл .htaccess, так как там может быть перенаправление, например:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} (bot|crawl|robot)
RewriteCond %{HTTP_USER_AGENT} !(bing|Google|msn|MSR|Twitter|Yahoo) [NC]
RewriteRule ^/?.*$ "http\:\/\/127\.0\.0\.1" [R,L]
Затем удалите эти строки или добавьте символ # (закомментируйте строку), после чего откройте приватное окно браузера, отключите кеш и проверьте ваш сайт. После этого всё должно заработать.
