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 .

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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