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 .

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.