atom feed4 messages in ru.sysoev.nginxRe: some question about server listen
FromSent OnAttachments
zhijianpengApr 27, 2009 6:50 am 
Igor SysoevApr 27, 2009 6:56 am 
zhijianpengApr 27, 2009 7:14 pm 
Igor SysoevApr 27, 2009 9:32 pm 
Subject:Re: some question about server listen
From:Igor Sysoev (is@rambler-co.ru)
Date:Apr 27, 2009 9:32:56 pm
List:ru.sysoev.nginx

On Mon, Apr 27, 2009 at 10:14:41PM -0400, zhijianpeng wrote:

Igor Sysoev Wrote:

-------------------------------------------------------

On Mon, Apr 27, 2009 at 09:50:27AM -0400, zhijianpeng wrote:

========my nginx.conf=========== server {

listen 10.1.1.1:80; server_name www.test1.com; root /opt/test1; }

server {

listen 80; server_name www.test2.com; root /opt/test2; }

========my nginx.conf=========== I found that server www.test2.com not listen on

10.1.1.1 ,but only listen on 127.0.0.1,why ?

Probably, you mistook: in this case nginx listen on *:80 only.

If you want to bind() to an address, then you should set listen 10.1.1.1:80 default bind;

Yes,I saw that nginx listen on 0.0.0.0:80 but when I use : curl -v -H "Host: www.test2.com" http://10.1.1.1/index.html I get the result of www.test1.com/index.html,

and use curl -v -H "Host: www.test2.com" http://127.0.0.1/index.html then get the result of www.test2.com/index.html

In this case ,does "listen *:80" means this virtual_server only bind to the
ip address not used by any other virtual_server?

Although nginx listen on *:80, nevertheless it tests an address where a request was sent to, as if nginx was bind() to the address. It emulates usual socket bind() behaviour.