Nginx

NginX 使用錯誤的配置文件

  • April 12, 2017

我有一個帶有 NginX 的網路伺服器,每個網站都在不同的配置文件中。我注意到,如果我的站點配置不再存在(沒有 DNS 名稱或設置錯誤),NginX 只會將我重定向到我的其他站點之一。總是一樣的,所以不是隨機的。這是如何運作的?如果他應該提供的配置不正確,NginX 如何決定將我重定向到哪裡?

簡單的例子:如果我在瀏覽器中輸入伺服器的 IP 地址,我會載入那個特定的頁面。OFC 我沒有設置任何配置來提供 IP 地址。您知道如何更改 NginX 以提供其他服務或可能會出錯嗎?哦,是的,關於那個

如果我轉到我的 IP 地址,則沒有任何日誌文件記錄任何內容。雖然很明顯,一個網站載入。

那是因為 Nginx 預設是第一個網站。您可以使用default_server指令選擇您想要預設的那個。

我不希望 Nginx 響應任何域名,所以我這樣做是為了發送no response

# This just prevents Nginx picking a random default server if it doesn't know which
# server block to send a request to
server {
   listen      80 default_server;
   server_name _;
   return      444; # This means "go away", effectively
}

如果沒有server匹配server_name的塊,請求將被發送到指令中serverdefault_server語句或定義的第一個塊(通常是從目錄中讀取多個配置文件時字母表中的第一個塊)。Listen``server

請參閱http://nginx.org/en/docs/http/request_processing.html>和<http://nginx.org/en/docs/http/server_names.htm

引用自:https://serverfault.com/questions/844075