先看看上面這段配置,listen 指令後面有一個參數 default_server ,這個參數是在 0.8.21 版本以後才有的,而之前是 default 指令(如果沒有比對到,都到這個預設裡執行)。
Nginx 的虛拟主機是通過HTTP請求中的Host值來找到對應的虛拟主機配置,如果找不到呢?那 Nginx 就會将請求送到指定了 default_server 的 節點來處理,如果沒有指定為 default_server 的話,就跑到 localhost 的節點,如果沒有 localhost 的節點,那隻好 404 了。
另外你也可以指定對于沒有比對的 Host 值時,傳回錯誤到用戶端,這在現在國内用來處理未備案域名指向自己時非常有用,看看下面的配置:
通過傳回444這個Nginx的非标準錯誤碼來讓Nginx斷開與浏覽器之間的連接配接。
本文轉自奔跑在路上部落格51CTO部落格,原文連結http://blog.51cto.com/qiangsh/1768124如需轉載請自行聯系原作者
qianghong000