Хочу вам рассказать историю, которая однажды произошла с моим коллегой в понедельник:
Рабочий день уже завершен...
Разработчик пишет: «После установки релиза сервис перестал открываться».
Через пару минут другие команды тоже начинают жаловаться - новые релизы недоступны по HTTP.
Смотрю логи ingress-nginx controller:
Error: exit status 1
2026/04/23 16:28:44 [emerg] 85863#85863: "large_client_header_buffers" directive is not allowed here in /tmp/nginx/nginx-cfg3132651217:45488
nginx: [emerg] "large_client_header_buffers" directive is not allowed here in /tmp/nginx/nginx-cfg3132651217:45488
nginx: configuration file /tmp/nginx/nginx-cfg3132651217 test failed
Смотрю конфиг nginx ingress, который не может примениться из-за ошибки, спускаюсь к нужной строке 45488
Начинаю искать и нахожу ingress:
nginx.ingress.kubernetes.io/configuration-snippet: | large_client_header_buffers 16 32k;
Смотрим конфиг nginx, который не смог примениться
обращаемся к документации nginx
Context:
http, server
Проблема в том, что configuration-snippet попадает внутрь location {}, а large_client_header_buffers там использовать нельзя. Открываю документацию ingress-nginx:
И вижу, что это вообще делается через ConfigMap
data: large-client-header-buffers: "16 32k"
Убираем snippet. Переносим настройку в ConfigMap. Ingress производит релоад. HTTP снова жив. Все сервисы спасены.