Skip to main content
120

no_application_protocol

FatalRFC 8446 §6.2

no_application_protocol (120) is sent when the client offered ALPN (Application-Layer Protocol Negotiation) extension but none of the offered protocols are supported by the server. The server cannot select an application protocol from the client's list and closes the connection.

Alert Code

120

Level

Fatal

Standard

RFC 8446

Description

ALPN (RFC 7301) allows TLS clients to advertise which application protocols they support – for example 'h2' for HTTP/2 and 'http/1.1' for HTTP/1.1. If the server only supports HTTP/2 but the client only offered 'http/1.1', or if a gRPC server receives a connection without 'h2' in the ALPN list, the server sends no_application_protocol. This is common in misconfigured reverse proxies where the ALPN negotiation between the client and proxy does not match the proxy's backend configuration.

Common Causes

  • HTTP/2 server receives client that only advertises 'http/1.1' in ALPN
  • gRPC server requires 'h2' but client ALPN list omits it
  • Reverse proxy ALPN mismatch between frontend and backend
  • Client TLS library configured with wrong ALPN protocols