some question about server listen
Igor Sysoev
is at rambler-co.ru
Tue Apr 28 08:33:19 MSD 2009
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;
> >
> >
> > --
> > Igor Sysoev
> > http://sysoev.ru/en/
>
> 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.
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list