421 Misdirected Request 表示要求送到了一台無法或不願為目標網址產生權威回應的伺服器。通常是要求中的主機名稱與伺服器設定的任何網站都不相符,或與要求所使用的連線不相符。
這種情況在 HTTP/2 與 HTTP/3 普及後變得常見:瀏覽器會讓共用同一個 IP 位址與憑證的多個主機名稱重複使用同一條連線(稱為「連線合併」,connection coalescing)。如果伺服器無法在那條連線上為其中某個主機名稱提供服務,就會回應 421,用戶端則會在新的連線上重試。即使是非冪等的方法,用戶端在收到 421 後也可以重試。代理伺服器不得產生 421。
當 Host 標頭與連線的 TLS 伺服器名稱指示(SNI)不相符時,Apache httpd 也會回傳 421。這種情況經常發生在反向代理伺服器將 HTTPS 要求轉送給 Apache,卻沒有傳送正確的 SNI 時。
回應範例
HTTP
HTTP/1.1 421 Misdirected Request
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: Apache
Content-Type: text/html; charset=iso-8859-1
Content-Length: 321
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>421 Misdirected Request</title>
</head><body>
<h1>Misdirected Request</h1>
<p>The client needs a new connection for this request as the requested host name does not match the Server Name Indication (SNI) in use for this connection.</p>
</body></html> SEO 與重新導向檢查
瀏覽器會自動從 421 中恢復,但爬蟲和重新導向檢查工具可能會將它回報為 4xx 錯誤,受影響的網址也可能因此無法編入索引。如果檢查回傳 421,請檢查伺服器及其前端任何代理伺服器的 TLS/SNI 與虛擬主機設定。
常見原因與使用情境
- 反向代理伺服器連線到 HTTPS 後端時沒有傳送 SNI,或傳送了錯誤的 SNI。在 nginx 中請啟用
proxy_ssl_server_name on。 - 多個主機名稱共用同一張憑證與 IP 位址,而某條連線被重複用於伺服器不在該連線上提供服務的主機。
- 某個主機名稱的 DNS 指向這台伺服器,卻沒有對應的虛擬主機設定。