проблема с прозрачным прокси
Igor Sysoev
is at rambler-co.ru
Tue Mar 1 23:17:10 MSK 2005
On Tue, 1 Mar 2005, Borisenko Ivan wrote:
> apache с mod_accel можно было поставить на gw, отклонять фаерволом пакеты
> идущие через внешний интерфейс на 127.0.0.1 и прописать
>
> Listen 8100
> <VirtualHost a.b.c.d:80>
> AccelPass / http://a.b.c.d:8100/
> </VirtualHost>
> <VirtualHost a.b.c.e:8100>
> AccelPass / http://a.b.c.e:8100/
> </VirtualHost>
> где a.b.c.d и a.b.c.e ip машин, стоящих за gw
>
> и все работало, а в nginx
> server {
> listen a.b.c.d:8100;
> location / {
> proxy_pass http://a.b.c.d:8100/;
> }
> }
> ...
> естественно не работает:
> 2005/03/01 21:09:40 [emerg] 33856#0: bind() to a.b.c.d:8100 failed (49: Can't
> assign requested address)
> поскольку адрес a.b.c.d принадлежит другой машине.
>
> Можно как-либо с помощью nginx организовать прозрачный прокси для нескольких
> бэкендов, сидящих на разных физических машинах, но слушающих одни порты?
Можно сделать так:
server {
listen 8100;
listen a.b.c.d:8100;
...
}
server {
listen a.b.c.e:8100;
...
}
Тогда nginx, как и Апач, будет слушать на *:8100 и не будет пытаться
при'bind()иться к a.b.c.d:8100 и a.b.c.e:8100.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list