ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Странное поведение listen



Hello!

On Thu, Dec 16, 2010 at 02:46:29AM +0200, Vladislav V. Prodan wrote:

> nginx version: nginx/0.7.67
> 
> Имеем
> 
> server {
>     listen   80;
>     listen   81;
>     ...
>     проксирование
>     ...
> 
> и с десяток разных доменов с
>     listen xx.x.x.25:80;
> 
> listen   80; - эта опция напрочь игнорируется и берется ближайший по
> алфавиту домен, имеющий listen xx.x.x.25:80;
> 
> Пока и ему тоже принудительно не выставил listen xx.x.x.25:80;
> проксирование не заработало.
> 
> ЧЯДНТ

С точки зрения директивы listen - nginx работает точно так же, как 
сетевой стек операционной системы с сокетами.  Т.е. listen на *:80 
может существовать праллельно с listen на ip:80.  При этом все 
соединения на ip:80 попадут к тому, кто слушает на ip:80, а 
слушающему на *:80 достанется остальное.

Т.е. запросы к xx.x.x.25:80 будут обслужены одним из серверов с 
listen xx.x.x.25:80 (либо по совпадению server_name, либо 
default'ным).  Запросы к другим ip-шникам на 80-й порт - могут 
быть обслужены сервером с listen 80 (опять же - если серверов 
больше одного, то выбор по совпадению server_name или 
default'ный).

Кое что по этому вопросу можно прочитать тут:

http://nginx.org/en/docs/http/request_processing.html
http://nginx.org/en/docs/http/server_names.html

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.