n1ro°
RU

Ошибки · Решение

TLS alert 120 no_application_protocol: что означает и как исправить

ALPN negotiation не нашла прикладной протокол, который поддерживают обе стороны.

Редакция N1RO · Проверено

Короткий ответ

TLS alert 120 no_application_protocol. ALPN negotiation не нашла прикладной протокол, который поддерживают обе стороны. Сверьте код с официальной поддержкой производителя и выполните только безопасные шаги.

Что означает ошибка

ALPN negotiation не нашла прикладной протокол, который поддерживают обе стороны.

Возможные причины

  • Клиент предлагает только h2, а endpoint настроен лишь на http/1.1, или наоборот.
  • TLS proxy не передаёт/не поддерживает нужный ALPN identifier.
  • Сервис ожидает специализированный ALPN, отсутствующий в ClientHello.

Что проверить

  • Проверьте ALPN list в ClientHello и список протоколов endpoint.
  • Сравните результат на прямом backend и через proxy/load balancer.
  • Убедитесь, что приложение действительно слушает протокол, который рекламирует TLS слой.

Безопасные шаги

  1. Настройте пересечение ALPN протоколов на клиенте и сервере.
  2. Исправьте TLS terminator, если он удаляет или подменяет ALPN.
  3. После изменения подтвердите negotiated protocol в handshake log.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • При no_application_protocol приложите client ALPN list и server ALPN policy владельцу ingress/TLS endpoint.

Похожие ошибки

  • /errors/tls-alert-unexpected-message/
  • /errors/tls-alert-bad-record-mac/
  • /errors/tls-alert-record-overflow/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.