listen directive

drook nginx-forum at nginx.us
Thu Jul 25 07:23:53 UTC 2013


Hi.

I've noticed that in configuratuion like

http {
    server {
        server_name some.domain.tld;
        listen 1.1.1.1;
    }
    server {
        server_name another.domain.tld;
        listen 1.1.1.1;
    }
    server {
        server_name one_more.domain.tld *.domain.tld;
        listen 1.1.1.1;
    }
    server {
        server_name last.domain.tld;
        listen 80;
    }
}

weird thing happens: this somehow is similar to the apache directives, where
you should use exactly the same "address:port" in "VirtualHost" clause as
you used in "NameVirtualHost <address:port>" directive. For example if you
used *, you should use it everywhere, otherwise namevhost won't work. I
found that at least on 1.2.1 similar thing happens: vhost "last.domain.tld"
may not get any requests at all, they will be served by the *.domain.tld,
and, if removed, by the default vhost. So I changed everything to the
"listen 80" and it resolved the situation.

Is it some bug I stepped on, or is this normal, or, may be I just see things
that aren't there ?

Thanks.

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,241215,241215#msg-241215



More information about the nginx mailing list