ИнструкцииПолезно

127.0.0.1 вместо IP клиентов в связке NGINX + Apache2

Привет!

Я пользуюсь связкой NGINX + Apache2 на своём сервере. После обновления Apache до версии 2.4.7 перестал работать модуль mod_rpaf. После долгих поисков в Интернете удалось найти решение, которое частично помогло. Модули mod_rpaf и mod_realip2 для Apache 2.4.7 инструкцию по их установке можно найти тут.

Но это решило проблему только частично, сайты на WordPress продолжили определять IP посетителей как 127.0.0.1. Всё бы ничего, но это затрудняет решение проблемы со спам-комментариями. К счастью, решение было простым. У меня Ubuntu 14.04, поэтому я описываю способ для этой ОС.

В каталоге /usr/share/php/ создаём файл real-ip.php ( nano /usr/share/php/real-ip.php ) со следующим содержимым:
<?php
 if ( isset( $_SERVER[ "HTTP_X_FORWARDED_FOR" ] ) ) {
    $_SERVER[ 'REMOTE_ADDR' ] = $_SERVER[ "HTTP_X_FORWARDED_FOR" ];
 }
?>

Переходим в каталог /etc/php5/apache2 и правим файл php.ini. В нём находим auto_prepend_file = и заменяем на auto_prepend_file = /usr/share/php/real-ip.php

Перезапускаем Apache2  service apache2 restart .

Олесь Быков

Автор этого блога. Журналист-IT'шник. Создаю сайты с 2009 года, публикуюсь с 2011.

Leave a Reply

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.