127.0.0.1でNginxにアクセスすると正常に動作しますが、IPでアクセスすると400が返されます

127.0.0.1でNginxにアクセスすると正常に動作しますが、IPでアクセスすると400が返されます

Django+uwsgi+Nginxプロジェクトをデプロイしましたが、127.0.0.1でnginxにアクセスすると正常に動作しますが、IPでアクセスすると400が返されます

iptablesは

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

そしてNginxの設定は

server {
    listen       8181 default;
    server_name  _;

アクセスログには

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

この問題の原因は何でしょうか?

答え1

によるサーバー名に関する nginx ドキュメント'_' は使用しないでください。代わりに、default_server ディレクティブを使用することをお勧めします。

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

関連情報