Binding nginx to a single interface

Maxim Dounin mdounin at mdounin.ru
Thu Feb 9 23:34:20 UTC 2012


Hello!

On Thu, Feb 09, 2012 at 01:06:14PM -0500, Bai Shen wrote:

> They do.
> 
> However, I do have some weird behaviour.  I have the server_name set to
> www.example.com and that correctly connects me to my web server.  But if I
> type in 10.1.2.3, that connects me to my web server as well, even though I
> don't have a default rule setup.
> 
> When I go to 10.1.2.4 I get a "Welcome to nginx!" page.

When selecting server{} based on server_name nginx will look only 
through server{} blocks which have the listen socket defined.

That is, if you have

    server {
        listen 80;
        server_name default;
    }

    server {
        listen 10.1.2.3:80;
        server_name example.com;
    }

nginx will never consider "default" server if connection comes to 
10.1.2.3:80.  All requests to 10.1.2.3:80 will end up in 
"example.com" server as it's the only server defined for the 
listen socket in question.

More details may be found here:

http://nginx.org/en/docs/http/request_processing.html#mixed_name_ip_based_servers

and in docs.

Maxim Dounin



More information about the nginx mailing list