444 並不是真正的 HTTP 狀態碼,而是 nginx 中的特殊值:return 444; 會讓 nginx 在不傳送回應標頭或主體的情況下關閉連線。444 只會出現在 nginx 的存取記錄中,用戶端永遠不會收到它。
管理員用它以低成本丟棄不受歡迎的流量,例如帶有未知 Host 標頭的要求、探測 wp-login.php 或 .env 檔案的掃描程式,或遭封鎖的使用者代理程式。對用戶端來說,連線就只是被關閉了:瀏覽器會顯示 ERR_EMPTY_RESPONSE 之類的錯誤,curl 則會回報「Empty reply from server」。
如果網站位於 Cloudflare 後方,訪客看到的則是 520,因為 Cloudflare 從原始伺服器收到的是空白回應。
回應範例
HTTP
# Nothing is sent back. The client only sees the connection close:
$ curl -i http://example.com/wp-login.php
curl: (52) Empty reply from server
# nginx access.log
203.0.113.7 - - [06/Nov/2026:10:15:32 +0000] "GET /wp-login.php HTTP/1.1" 444 0 "-" "curl/8.11.1" SEO 與重新導向檢查
由於沒有傳送任何回應,爬蟲記錄的是連線錯誤而不是狀態碼,而 Google 會將這類錯誤當成伺服器錯誤處理:檢索速度會放慢,如果問題持續存在,網頁就會被移除。請確保 444 規則只會比對到不受歡迎的流量,絕不會比對到真正的爬蟲。重新導向檢查工具會將這樣的躍點回報為連線錯誤,因為沒有狀態碼可以顯示。
常見原因與使用情境
- 預設的
server區塊以return 444;丟棄未知主機名稱的要求。 - 安全規則丟棄弱點掃描程式和惡意機器人的要求。
- 規則範圍過廣,連正當的要求也被比對到,導致部分訪客收到空白回覆。