Як я боровся з невірною змінної remote_addr, softodom - блог про програмування, софт,

Налаштування apache модуля rpaf

Взагалі для настройки модуля rpaf_module багато робити не потрібно. По-перше підключаємо цей самий rpaf_module директивою LoadModule приблизно так:

Відкриваємо або створюємо файл rpaf.conf і в ньому вказуємо наступне:

На цьому, за великим рахунком все, перезапускаємо апач.

налаштування Nginx

У nginx можуть знадобитися додаткові настройки. Якщо проксі сервер не додає до запитів заголовки X-Forwarded-For, то треба змусити його це робити.

У nginx всередині блоку http<> повинні бути вказані рядки:

Або ось так, щоб напевно:

Після змін у файлі конфігурації перезапускаємо і Nginx.

По суті це все, що треба зробити для правильного REMOTE_ADDR, якщо не вийшло, і там не те, що потрібно значить потрібно шукати інший шлях, завжди є інший шлях.

Я ж, як дурень, ще довго мучився і міняв конфігурацію модуля mod_rpaf в надії змусити його працювати не знаючи про те, що йому є хороші альтернативи.

Альтернативи модулю rpaf

Загалом для подібних цілей зміни змінної REMOTE_ADDR є ще, як мінімум, 2 інших модуля: remoteip_module і realip_module. Перший з них - remoteip_module взагалі зазвичай йде в комплекті з веб-сервером Apache «з коробки», тобто як би стандартний. Його і будемо використовувати.

Відключаємо rpaf_mod і підключаємо remoteip_module.

Налаштування remoteip_module

Ну спершу переконаємося, що він у нас є, відкриємо папку з усіма модулями і подивимося, для Linux Ubuntu це / usr / lib / apache2 / modules.

І тепер швидко налаштуємо. Відкриваємо файл remoteip.conf і додаємо туди наступне:

Список apache можуть працювати трохи неправильно, в цьому випадку відкриваємо файл конфігурації апача (/etc/apache2/apache2.conf) і міняємо це:

Ну в загальному там можна розібратися, формати логів різні.

Виходячи зі своїх спостережень зробив висновок, що для заміни заголовків для Apache 2.2 підходить модуль rpaf, для версії 2.4 він ніяк не підходить і потрібен модуль remoteip.