透過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;
    ...
}

相關內容