TrueURL
TrueURL

菜单

421 错误定向的请求

请求到达了一台无法为该主机名提供响应的服务器,通常是因为 TLS SNI 不匹配或复用了 HTTP/2 连接。

原因短语
Misdirected Request
是否重定向
否
默认可缓存
否

421 Misdirected Request 表示请求被发送到了一台无法或不愿为目标 URL 生成权威响应的服务器。通常是请求中的主机名与服务器配置的任何网站都不匹配,或者与请求所经由的连接不匹配。

它在 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 错误,受影响的 URL 也可能因此无法被编入索引。如果检测返回 421,应检查服务器及其前面所有代理的 TLS/SNI 和虚拟主机配置。

常见原因与使用场景

  • 反向代理连接 HTTPS 后端时没有发送 SNI,或发送了错误的 SNI。在 nginx 中启用 proxy_ssl_server_name on。
  • 多个主机名共享一个证书和 IP 地址,而某条连接被复用于服务器在该连接上并不提供服务的主机。
  • 某个主机名的 DNS 指向了该服务器,但服务器上缺少对应的虚拟主机。

URL 重定向检测

使用免费的 TrueURL 重定向检测工具,逐跳查看一个 URL 返回的每一个状态码。