Страница 1 из 1

Apache не выдает переменную HTTP_X_FORWARDED_FOR

Добавлено: 2010-11-19 13:23:55
Viksv
Всем привет. Решил я провести опрос среди работников. Нашел систему голосования http://www.dracon.biz/dracon_poll.php . Сделал сервер на виртуалке FreeBSd 7.2 Apache 2.2 PhP5 Mysql. Разместил там систему голосования. Голосовалка ориентируется на ИП адрес. Вот тут и начались проблемы. Половина сотрудников выходит в интернет через прокси(squid) установленный на шлюзе(FreeBSD).. Соответственно в переменной $_SERVER['REMOTE_ADDR'] оказывается ип адрес прокси и никто проголосовать не сможет(кроме первого). В интернете узнал что существует такая переменная $_SERVER['HTTP_X_FORWARDED_FOR']. Настроил в проксе сервере что бы он вписывал туда ip (follow_x_forwarded_for).
Но переменная $_SERVER['HTTP_X_FORWARDED_FOR'] так и не появилась когда заходишь на голосовалку через прокси( в phpinfo её нет). Пхп выдает ошибку: Undefined index: HTTP_X_FORWARDED_FOR
При помощи этого сервиса http://rassanov.ru/web-tools/my-IP.htm выяснил что локальный адрес определяется, значит проблема в сервере скорее всего в Apache..
Вопрос как мне настроить локальный веб сервер Апач что бы он передавал параметр заголовка HTTP_X_FORWARDED_FOR в PHP ??

Re: Apache не выдает переменную HTTP_X_FORWARDED_FOR

Добавлено: 2010-11-19 14:50:31
InventoR
какой-то мод в апаче ставится, поищите его в статьях где настраивается связка apache+nginx

Re: Apache не выдает переменную HTTP_X_FORWARDED_FOR

Добавлено: 2010-11-23 18:12:58
tv.vldmr
mod_rpaf

Re: Apache не выдает переменную HTTP_X_FORWARDED_FOR

Добавлено: 2010-11-24 8:39:22
Viksv
tv.vldmr писал(а):mod_rpaf
Спасибо за подсказку. Установил
в конфиге апача прописал
LoadModule rpaf_module libexec/apache22/mod_rpaf.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 192.168.1.100(ип прокси)
RPAFheader X-Forwarded-For
Но ничего не помогло :( переменной HTTP_X_FORWARDED_FOR все равно нет... Видимо придется пробывать настраивать nginx+apache

Re: Apache не выдает переменную HTTP_X_FORWARDED_FOR

Добавлено: 2010-11-24 12:44:06
Viksv
Настроил nginx+apache.
Прописал в настройках дополнительно такие строки.
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Теперь переменная появилась . Но вот толку от нее никакого :-D . Она дублирует REMOTE_ADDR..