Page 1 of 10

Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 8:46 pm
by skurudo
Коллеги, добрый день.

Заметил, что в логи вебсервера пишется адрес фронтенда, при том, что в настройках nginx все ровно, в настройках rpaf.conf тоже. Беда заключается в том, что в нескольких свежих инсталляциях за январь в Debian 7 и 7.5 в каталогах с апачем два модуля rpaf: /etc/apache2/mods-available/rpaf.conf (один здесь - в нем не указан IP-адрес или адреса фронтенда - так сказать дефолтный) и внезапно /etc/apache2/mods-enabled/rpaf.conf (здесь правильный конфиг). Проблема в том, что rpaf прочитался из первого каталога или второй не сработал. Должен остаться только один конфиг, иначе пепелац не взлетает.

ВНИМАНИЕ: проверялось только на Debian, перед выполнением каких-либо действий проверьте, что оно реально не работает. Пользователи CentOS/Rhel, помните, у вас httpd... команды могут не сработать :)

Проверка следующая:
1) логи apache2 - присмотритесь в /var/log/apache2/domains
2) при попытке активации получаем ошибку:

Code: Select all

a2enmod rpaf
ERROR: Config file rpaf.conf not properly enabled: /etc/apache2/mods-enabled/rpaf.conf is a real file, not touching it
Решение для пользователя:
[*] Удалять лишний rpaf (помните, что внешний адрес nginx в /etc/apache2/mods-enabled/rpaf.conf). Лучше всего скопировать /etc/apache2/mods-enabled/rpaf.conf в /etc/apache2/mods-available/rpaf.conf и потом удаляем rpaf в mods-enabled

Code: Select all

mv /etc/apache2/mods-enabled/rpaf.conf /etc/apache2/mods-available/rpaf.conf
[*] включаем mod_rpaf - нужно для того, чтобы сделать симлинк в mods-enabled-> a2enmod rpaf
[*] перезапускаем apache2 -> service apache2 restart

Возможное решение в целом:
определиться, какой из конф-файлов должен остаться - судя по конфигам редактирование идет в /usr/local/vesta/bin/v-delete-sys-ip и /usr/local/vesta/bin/v-add-sys-ip -- редактируется /etc/$WEB_SYSTEM/mods-enabled/rpaf.conf... но беда в том, что там совсем не симлинк, а файл с конфигом.

Добавлено на багтрекер для исправления:
https://bugs.vestacp.com/responses/neve ... ah-apache2

Голосуйте за баг :)

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 9:21 pm
by imperio
Debian 7.8
Не могу воспроизвести.

/etc/apache2/mods-available/rpaf.conf

Code: Select all

<IfModule rpaf_module>
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:
    RPAFproxy_ips 127.0.0.1 62.**.**.232

    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
#   RPAFheader X-Real-IP
</IfModule>
/etc/apache2/mods-enabled/rpaf.conf

Code: Select all

<IfModule rpaf_module>
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:
    RPAFproxy_ips 127.0.0.1 ::1 62.**.**.232

    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
#   RPAFheader X-Real-IP
</IfModule>
Лог веб-домена

Code: Select all

178.66.***.123 - - [29/Jan/2015:00:11:26 +0300] "GET /install.php?action=chmod_check HTTP/1.0" 200 548 "http://*****ru/install.php?action=function_check&eula=on" "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"
178.66.***.123 - - [29/Jan/2015:00:11:28 +0300] "GET /install.php?action=chmod_check HTTP/1.0" 200 548 "http://****.ru/install.php?action=function_check&eula=on" "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"
60.29.***.151 - - [29/Jan/2015:00:17:13 +0300] "-" 408 0 "-" "-"
178.66.***.123 - - [29/Jan/2015:00:19:27 +0300] "GET /install.php?action=chmod_check HTTP/1.0" 200 548 "http://*****.ru/install.php?action=function_check&eula=on" "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 9:57 pm
by skurudo
В DigitalOcean такого свежего нет, у меня всего один был 7.5 - остальные версии 7 (разные). Попробую посмотреть на более ранних или поздних версиях, но пока что скрины со свежезапиленной vps с debian 7 x64. Сделан apt-get update/upgrade, а дальше установлена веста:

1. rpaf.conf в mod-enabled, не симлинк, а именно файл
https://tokyo.abcd.black/2015/01/29/2015-01-29_10.png

2. содержание rpaf.conf в mod-available - нет внешнего айпишника
https://tokyo.abcd.black/2015/01/29/2015-01-29_11.png

3. содержание rpaf.conf в mod-enabled - есть внешний айпишник
https://tokyo.abcd.black/2015/01/29/2015-01-29_12.png

4. попытка включить mod_rpaf
https://tokyo.abcd.black/2015/01/29/2015-01-29_13.png

В пятый или шестой раз баг воспроизвелся. Есть здесь некоторая стабильность :)

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 10:02 pm
by imperio
Пока исправлять нечего. Не могу найти более раннюю версию. Попрошу ещё наших программеров проверить это.
Потести ещё, если что то найдешь отпишись.

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 10:05 pm
by imperio
Хотел у тебя спросить, как обстоят дела на Debian ниже 7.7 с iptables. Какой статус iptables в сервисах и есть ли список правил в Firewall разделе.
https://bugs.vestacp.com/responses/ipta ... -78-x86-64
У меня подтвердилось на 7.8

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 10:35 pm
by skurudo
imperio wrote:Пока исправлять нечего. Не могу найти более раннюю версию. Попрошу ещё наших программеров проверить это. Потести ещё, если что то найдешь отпишись.

Ок, в течение дня.
imperio wrote:Хотел у тебя спросить, как обстоят дела на Debian ниже 7.7 с iptables. Какой статус iptables в сервисах и есть ли список правил в Firewall разделе. https://bugs.vestacp.com/responses/ipta ... -78-x86-64 У меня подтвердилось на 7.8
Подтверждаю - не работает. Не заметил сразу, потому как использовал другой firewall - ufw на первой машине и правила уже были в iptables, а вот при новой инсталляции они не появляются. Легко фиксится вручную. Не создаются port.conf и rules.conf. Ну и традиционно скриншоты:

https://tokyo.abcd.black/2015/01/29/2015-01-29_14.png -- iptables здорового человека (рабочие)
https://tokyo.abcd.black/2015/01/29/2015-01-29_15.png -- iptables курильщика (более или менее свежая инсталляция)

После добавления файликов с портами и правилами + перезапуском службы, все прекрасно поднимается.

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 10:42 pm
by imperio
Это на Дебиан ниже версии 7.8 да ?

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 10:45 pm
by skurudo
imperio wrote:Это на Дебиан ниже версии 7.8 да ?
Верно, это версии 7 и 7.5
Они все х64 есичо, но подозреваю, что это-то как раз и не критично.

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Wed Jan 28, 2015 11:58 pm
by imperio
А на Бубунте 12,14 как с mod_rpaf ?

Re: Неверный IP-адрес в логах apache2 (проблема с решением)

Posted: Thu Jan 29, 2015 1:46 pm
by skurudo
imperio wrote:А на Бубунте 12,14 как с mod_rpaf ?
Сейчас использовал шаблоны от Vultr, а не DO, воспроизвести нерабочий rpaf не удалось, однако чехарда с rpaf.conf была на всех приведенных ниже операционных системах - два файла rpaf.conf с разными конфигами, привел ниже. Пусть и не критичный, но это все же баг.

Как получилось на DO вчера и в приватном облаке - не могу сказать, адрес неверный наблюдал своими очами :)

mod_rpaf
* Ubuntu 12.04 x64
* Ubuntu 14.04 x64
* Debian 7 x64 (wheezy)
* CentOS 6 x64 - не рассматриваю, в новой там действительно не rpaf, а mod_extract_forwarded

В /etc/apache2/mods-available/rpaf.conf нет IP-адреса VPS

Code: Select all

<IfModule rpaf_module>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 ::1
</IfModule>
В /etc/apache2/mods-enabled/rpaf.conf - есть IP-адрес VPS и файл не симлинк на mod-available

Code: Select all

<IfModule rpaf_module>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 ::1 108.61.188.38 
</IfModule>
Заодно прошелся и посмотрел на iptables.. iptables
* Ubuntu 12.04 x64 - служба выключена, не стартует - в data/firewall только один файл chains
* Ubuntu 14.04 x64 - служба выключена, не стартует - в data/firewall только один файл chains
* Ubuntu 14.10 x64 - Ubuntu 14.10 is not supported
* Debian 7 x64 (wheezy) - служба выключена, не стартует - в data/firewall только один файл chains

Заметил, что в корне создается папка /data/firewall -- скрин на всякий случай - https://tokyo.abcd.black/2015/01/29/2015-01-29_002.jpg

Такое на всех приведенных ОС, кроме пожалуй CentOS 6 x64 - служба включена и работает, порты указаны сразу (папка data/firewall отсутствует кстати).