Nginx中的server_name指令主要用於配置基於名稱的虛擬主機,server_name指令在接到請求後的匹配順序分別爲:
準確的server_name匹配
以通配符開始的字符串
以通配符結束的字符串
匹配正則表達式
nginx 的 default_server 指令可以定義默認的 server 去處理一些沒有匹配到 server_name 的請求,如果沒有顯式定義,則會選取第一個定義的 server 作爲 default_server。
在瞭解到如上規則後,我們可以捕獲未做綁定的域名訪問或直接IP訪問,做重定向到403頁面等處理。
server {
listen 80 default_server;
server_name _;
return 403;
}