TrueURL
TrueURL

選單

421 錯誤導向的要求

要求抵達的伺服器無法為這個主機名稱提供回應,通常是因為 TLS SNI 不符,或重複使用了 HTTP/2 連線。

原因短語
Misdirected Request
是否為重新導向
否
預設可快取
否

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 指向這台伺服器,卻沒有對應的虛擬主機設定。

網址重新導向檢查

使用免費的 TrueURL 重新導向檢查工具,逐一查看網址在每個躍點回傳的狀態碼。