通过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的configuration是

 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 

什么原因可能导致这个问题?

根据服务器名称的nginx文档,你不应该使用'_'。 相反,build议使用default_server指令:

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