nginx+apache все ip как прокси

12
MB
На сайте с 24.02.2009
Offline
182
3650

проблема такая, на сервере стоит связка nginx+apache все входящие ip в скрипте по обмену траффиком определяются как прокси.

что нужно изменить в конфиге nginx чтоб стало определять правильно прокси?

конфиг nginx

server {

listen 0.0.0.0:80;
server_name site.com site.com;
rewrite ^(/manager/.*)$ https://$host$1 permanent;
error_page 404 = @fallback;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass http://0.0.0.0:8080;
proxy_redirect http://site.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
limit_req zone=one burst=8 nodelay;
proxy_pass http://0.0.0.0:8080;
proxy_redirect http://site.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
root /home/site/data/www/site.com;
access_log /home/httpd-logs/site.com.access.log ;
access_log /home/nginx-logs/site isp;
}
location @fallback {
limit_req zone=one burst=8 nodelay;
proxy_pass http://0.0.0.0:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}}
M
На сайте с 16.09.2009
Offline
278
#1

mod_rpaf установите для апача (у версии 2.4 апача есть штатный модуль - mod_remoteip)

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
MB
На сайте с 24.02.2009
Offline
182
#2

mod_rpaf стоит

/usr/local/etc/apache22/Includes/rpaf.conf

LoadModule rpaf_module /usr/local/libexec/apache22/mod_rpaf2.so

RPAFproxy_ips 0.0.0.0

RPAFEnable On

M
На сайте с 01.12.2009
Offline
235
#3

Что за OS у вас

Администратор Linux,Freebsd. построения крупных проектов.
MB
На сайте с 24.02.2009
Offline
182
#4
madoff:
Что за OS у вас

OS FreeBSD

Joker-jar
На сайте с 26.08.2010
Offline
171
#5

А разве не нужно что-то типа

RPAFproxy_ips 127.0.0.1
MB
На сайте с 24.02.2009
Offline
182
#6
Joker-jar:
А разве не нужно что-то типа

RPAFproxy_ips 127.0.0.1

ну неужели непонятно, 0.0.0.0 это ип моего сервера, то есть localhost, не буду же я реальный адрес писать.

лучше что нибудь по делу ответьте, весь гугл перерыл, просто нет стопроцентного решения этой проблемы похоже.

в конфиг rpaf.conf добавил ещё строку RPAFheader X-Real-IP

получается что либо 0% прокси, в случае отключения в nginx #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

либо 100% когда включено proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

мне надо чтоб реальное количество прокси определялось.

M
На сайте с 16.09.2009
Offline
278
#7
Mister_Black:
ну неужели непонятно, 0.0.0.0 это ип моего сервера, то есть localhost, не буду же я реальный адрес писать.

localhost - это как раз 127.0.0.1 :) Глупо скрывать стандартный IP.

А если у вас там IP вашего сервера (что и было понятно) - это ошибка, nginx просто не будет с этого IP делать соединение с апачем. Исправьте ее, как объяснили выше (-> 127.0.0.1) - должно заработать.

Electronn
На сайте с 01.02.2010
Offline
91
#8
Mister_Black:
ну неужели непонятно, 0.0.0.0 это ип моего сервера, то есть localhost, не буду же я реальный адрес писать.

лучше что нибудь по делу ответьте, весь гугл перерыл, просто нет стопроцентного решения этой проблемы похоже.
в конфиг rpaf.conf добавил ещё строку RPAFheader X-Real-IP
получается что либо 0% прокси, в случае отключения в nginx #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
либо 100% когда включено proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
мне надо чтоб реальное количество прокси определялось.

Соберите mod_rpaf не ниже нольшестой версии и в конфиг внесите :

LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf-2.0.so

RPAFenable On

RPAFsethostname On

RPAFproxy_ips 127.0.0.1 0.0.0.0

RPAFheader X-Forwarded-For

RPAFheader X-Real-IP

Версии до нольшесть не умеют RPAFheader X-Real-IP.

Качаем архив :

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz

распаковываем и переходим :

tar -zxvf mod_rpaf-0.6.tar.gz

cd mod_rpaf-0.6

собираем и устанавливаем :

make rpaf-2.0

make install-2.0

далее создаем конфиг :

nano /etc/apache2/mods-available/rpaf-2.0.load

и вносим туда следущее :

LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf-2.0.so

RPAFenable On

RPAFsethostname On

RPAFproxy_ips 127.0.0.1 x.x.x.x

#определяющие строки

RPAFheader X-Forwarded-For

RPAFheader X-Real-IP

и ребутим апач

apache2ctl restart

M
На сайте с 16.09.2009
Offline
278
#9

Electronn, ваш копипаст на freebsd - не заработает. Это не дебиан, увы.

M
На сайте с 01.12.2009
Offline
235
#10
Mister_Black:
OS FreeBSD

Пропишите напрямую в конфиг апач уберите инклудинг. если не поможет тогда нанимайте админа.

....

LoadModule rpaf_module /usr/local/libexec/apache22/mod_rpaf2.so

RPAFproxy_ips 0.0.0.0

RPAFEnable On

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий