Acessar Nginx por 127.0.0.1 funciona bem, mas acesso por IP retorna 400

Acessar Nginx por 127.0.0.1 funciona bem, mas acesso por IP retorna 400

Eu implantei o projeto Django+uwsgi+Nginx, mas o acesso ao nginx por 127.0.0.1 funciona bem, 400 retornado se o acesso for por IP

O iptables mostra

# iptables -L |grep 8181
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8181 

E a configuração do Nginx é

server {
    listen       8181 default;
    server_name  _;

O log de acesso mostra

192.168.1.131 - - [06/Dec/2013:09:55:16 +0800] "GET / HTTP/1.1" 400 
127.0.0.1 - - [06/Dec/2013:10:08:08 +0800] "GET / HTTP/1.1" 200

Que motivo pode causar esse problema?

Responder1

De acordo comDocumentação nginx sobre nomes de servidoresvocê não deve usar '_'. Em vez disso, a recomendação é usar a diretiva default_server:

server {
    listen      80 default_server;
    server_name example.net www.example.net;
    ...
}

informação relacionada