497 HTTP Request Sent to HTTPS Port ("HTTP-запрос, отправленный на HTTPS-порт")
https://httpcat.ru/497
Это прямая ссылка на изображение со статусом. Вы можете скопировать и использовать её где угодно.

Описание
Код состояния 497 HTTP Request Sent to HTTPS Port — внутренний статус сервера Nginx, указывающий, что клиент попытался подключиться по HTTP к порту, предназначенному только для HTTPS (обычно 443).
Основные характеристики:
- Не входит в официальные спецификации HTTP
- Возникает, когда клиент по ошибке посылает обычный HTTP-запрос (без TLS) на HTTPS-порт
- Используется для настройки перенаправления или информирования клиента о неправильном протоколе
- Не отправляется клиенту напрямую — обрабатывается через
error_page
в конфигурации
Пример использования в Nginx:
server { listen 443 ssl; ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem; error_page 497 @redirect; location @redirect { return 301 https://$host$request_uri; } }
Особенности поведения:
- Позволяет **мягко обработать ошибку клиента**, когда он по ошибке обращается по HTTP к HTTPS-серверу
- Может автоматически перенаправить пользователя на правильный
https://
URL - Записывается в логах как 497, но клиент видит уже настроенный ответ (например, 301 или 403)
Когда использовать (внутри Nginx):
- Для предотвращения путаницы между HTTP и HTTPS
- При миграции сайтов на HTTPS — чтобы вежливо направлять клиентов с неправильными запросами
- Чтобы не «ломать» интерфейс или не выбрасывать непонятную ошибку соединения
Дополнительно:
- Этот код используется **только внутри Nginx**, как часть логики обработки ошибок
- Он не должен использоваться в API или клиентских приложениях напрямую
- Связан с кодами
495
и496
— все они используются в SSL/TLS контексте
Документация: https://http.dev/497