/posts/my-nginx-mistakes

$ cat post.md

Мои ошибки в Nginx-конфигах: что выглядит безобидно, а потом бьёт по продакшену

Несколько классов мелких конфигурационных ошибок, которые не всегда заметны сразу, но почти всегда всплывают в самый неудобный момент.

С Nginx легко попасть в ловушку “ну ведь работает”. Конфиг принят, сервис отвечает, страница открывается, значит всё хорошо. Но именно такие настройки потом и превращаются в источник странных проблем: циклические редиректы, неверный Host, неожиданный кэш, неправильные таймауты, потерянные заголовки или сервис, который работает только в идеальном сценарии.

Моя самая частая ошибка была не в синтаксисе, а в самоуверенности. Я слишком быстро считал конфиг законченным, если он проходил базовую проверку. А потом выяснялось, что реальная жизнь сложнее: клиент идёт через proxy, где-то меняется схема, приложение ждёт один набор заголовков, а получает другой.

Сейчас я воспринимаю Nginx-конфиг как часть кода, а не как “раз и навсегда написанный текст”. Его нужно читать, проверять и держать простым настолько, насколько это возможно.

Что теперь проверяю отдельно

  • Редиректы между http и https.
  • Поведение Host и X-Forwarded-* заголовков.
  • Таймауты для медленных upstream-сервисов.
  • Кэширование статических и динамических ответов.

$ ls related/

$ cat /etc/motd

infraTales

Личный блог о DevOps, инфраструктуре, инструментах и инженерной практике.