421 HTTP Origin: Network Last updated 11 Oct 2026

HTTP 421 Misdirected Request

The request reached a server that isn’t configured for that host name — usually HTTP/2 connection reuse across domains sharing a certificate, or a wrong SNI.

Exact message you may see 421 Misdirected RequestMisdirected RequestThe client needs a new connection for this request as the requested host name does not match the Server Name Indication
Seen on: REST API

Meaning

With HTTP/2, browsers reuse one connection for several hosts covered by the same certificate (e.g. a wildcard). If those hosts are served by different backends or virtual hosts, the server replies 421 so the browser opens a new connection.

Apache also returns 421 when SNI and the Host header don’t match, and reverse proxies return it when proxying to an HTTPS backend without passing the right SNI.

Common causes

  • HTTP/2 connection coalescing across hosts on a shared/wildcard certificate
  • SNI and Host header mismatch (Apache SSLStrictSNIVHostCheck)
  • Proxy forwarding to an HTTPS upstream without proxy_ssl_server_name

⚡ Quick fix

  1. Give each host its own certificate, or serve them from the same vhost/IP
  2. Nginx proxying HTTPS: enable proxy_ssl_server_name on
  3. Check vhost ServerName/ServerAlias for the host

Detailed fix by platform

Nginx

  1. nginx
    location / {
        proxy_pass https://backend.example.com;
        proxy_ssl_server_name on;
        proxy_set_header Host backend.example.com;
    }

Apache

  1. apache
    # per vhost: ServerName and matching certificate; or relax strict SNI
    SSLStrictSNIVHostCheck off

How to diagnose

  1. Hosts — Which hostnames share the certificate/IP?
  2. SNI — openssl s_client -servername host -connect ip:443
  3. Proxy — Does it send SNI upstream?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Network. Errors that are often confused with or caused by this one (click to open):

1013 — Cloudflare Error 1013: HTTP hostname and TLS SNI hostname mismatch (Cloudflare)1013307 — HTTP 307 Temporary Redirect (HTTP)307400 — HTTP 400 Bad Request (HTTP)400495 — Nginx 400: The SSL certificate error (495 / 496 client certificate) (HTTP)495497 — 400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497) (HTTP)497502 — HTTP 502 Bad Gateway (HTTP)502525 — Cloudflare Error 525: SSL Handshake Failed (Cloudflare)525ATS — App Transport Security has blocked a cleartext HTTP resource load (iOS)ATS421

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.