Налаштування 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.