Der Zugriff auf Nginx über 127.0.0.1 funktioniert einwandfrei, aber der Zugriff über IP gibt 400 zurück.

Der Zugriff auf Nginx über 127.0.0.1 funktioniert einwandfrei, aber der Zugriff über IP gibt 400 zurück.

Ich setze das Django+uwsgi+Nginx-Projekt ein, aber der Zugriff auf nginx über 127.0.0.1 funktioniert einwandfrei, bei Zugriff über IP wird 400 zurückgegeben

Die iptables zeigt

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

Und Nginx configure ist

server {
    listen       8181 default;
    server_name  _;

Das Zugriffsprotokoll zeigt

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

Welcher Grund kann dieses Problem verursachen?

Antwort1

Entsprechend derNginx-Dokumentation zu ServernamenSie sollten nicht '_' verwenden. Stattdessen wird empfohlen, die Direktive default_server zu verwenden:

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

verwandte Informationen