Page 1 of 2
Проблема с IP
Posted: Wed Jan 14, 2015 12:29 pm
by bigbik
Перенесли сайт с сервера c ISPmanage на другой сервер с Vesta CP - перестал работать модуль определения города по ip адресу посетителя (определяется только один город). Судя по access.log проблема в том что ip-адрес пользователя подменяется ip-адресом сервера:
Code: Select all
91.239.27.75 - - [14/Jan/2015:15:06:27 +0300] "GET / HTTP/1.0" 200 12443 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.69 Safari/537.36"
91.239.27.75 - - [14/Jan/2015:15:06:27 +0300] "GET /wp-includes/css/dashicons.min.css HTTP/1.1" 200 25271 "http://bigbik.com/" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.69 Safari/537.36"
В панели управления, во вкладке IP указаны 2 ip-адреса:
1)
91.239.27.75
255.255.254.0
eth1
2)
10.7.20.247 → 91.239.27.75
255.248.0.0
eth0
Помогите, пожалуйста, решить проблему.
Re: Проблема с IP
Posted: Wed Jan 14, 2015 1:48 pm
by skurudo
Попробуйте использовать mod_rpaf:
/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 91.239.27.75 127.0.0.1 ::1
# Change the header name to parse from the default
# X-Forwarded-For to something of your choice:
# RPAFheader X-Real-IP
</IfModule>
** после внесения изменений apache2 нужно рестартануть
Можно подробностей, у вас какой-то хитры nat?
И еще вопрос, в какой конфигурации у вас все работает? (какой темплейт для сайта используется)
Re: Проблема с IP
Posted: Wed Jan 14, 2015 2:20 pm
by bigbik
Не помогло.
Производилась чистая установка панели на виртуальный сервер с ubuntu, файлы конфигурации не трогались.
Шаблон apache: default
Шаблон Nginx: default
от хостера получил такой ответ
Code: Select all
Здравствуйте, у вас некорректно обрабатывается хедер от фронтэнд-сервера, скорее всего вы игнорируете X-Forwarded-For, поэтому в бэкенде адрес клиента заменяется на адрес фронтэнда, который с ним соединяется.
Re: Проблема с IP
Posted: Wed Jan 14, 2015 8:17 pm
by skurudo
Логичный ответ, для этого нам и нужен был mod_rpaf.
Давайте тогда проверим по порядку:
1. ип к которому привязан домен - тот же что и в логах, верно?
2. в настройках nginx - /etc/nginx/nginx.conf
Code: Select all
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3. mod_rpaf
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
# Change the header name to parse from the default
# X-Forwarded-For to something of your choice:
# RPAFheader X-Real-IP
</IfModule>
Проверил у себя на боевом сервере с дебианом - в логах правильные адреса.
Так что давайте попробуем понять, в чем дело.
Re: Проблема с IP
Posted: Thu Jan 15, 2015 7:41 am
by bigbik
1. Верно
2. Так и прописано
3. Так и прописано
Re: Проблема с IP
Posted: Thu Jan 15, 2015 7:44 am
by bigbik
Проблема решена.
Переустановил все на Ubuntu 12.04.5 x64 - заработало все с пол пинка.
На системе Ubuntu 14.04.1 x64 ошибка повторяется.
Re: Проблема с IP
Posted: Thu Jan 15, 2015 8:30 am
by skurudo
bigbik wrote:Проблема решена.
Переустановил все на Ubuntu 12.04.5 x64 - заработало все с пол пинка.
На системе Ubuntu 14.04.1 x64 ошибка повторяется.
Если будет не сильно лениво, добавьте баг:
https://bugs.vestacp.com/
Re: Проблема с IP
Posted: Thu Jan 15, 2015 2:30 pm
by imperio
Нужно проверить на тест машине с ubuntu 14
Re: Проблема с IP
Posted: Thu Jan 15, 2015 4:35 pm
by skurudo
imperio wrote:Нужно проверить на тест машине с ubuntu 14
Попробовал на DigitalOcean, там темплейт новее стоит - Ubutu 14.10
Так что нужно искать именно 14.05 или 14
Code: Select all
# bash vst-install-ubuntu.sh --force
Error: Ubuntu 14.10 is not supported
Re: Проблема с IP
Posted: Thu Jan 15, 2015 4:48 pm
by skurudo
imperio wrote:Нужно проверить на тест машине с ubuntu 14
DigitalOcean - Ubuntu 14.04 x32
баг не повторяется, в логах апача правильный адрес