@hirthwork

Тег nginx в блоге hirthwork

hirthwork

есть какой-нибудь плагин для nginx, чтобы работал как autoindex, но для картинок тамбнейлы рисовал? Ну и отображение не вертикальным списком, а сеткой

hirthwork

Long, long time ago at RHEL we had a nginx 1.6.0. И был у того nginx'а кэш, а за кешом стоял бигдатый сервер. А поскольку всё бигдатое требует времени, то был у nginx поставлен proxy_cache_lock_timeout 10m;
Летели дни, кружась проклятым роем, и вот на часть кластера приехал nginx 1.8.0, а в нём, подобно утке в зайце, появился Default: proxy_cache_lock_age 5s;. Все читали релиз ноутсы, да все хуй клали на новые опции. Так и обновили неглядя.
Случился факап, полезли разбираться. Увидели, что через кэш пролезают параллельно несколько запросов с MISS. Охуели. Почитали доки. Нашли proxy_cache_lock_age. Проверили на 1.6.0 — там запросы по честному 10 минут ждут, а вот на 1.8.0 через пять секунд прорыв периметра случается.
Вот такая поучительная история о том, что даже в годных проектах типа nginx иногда меняется поведение параметров при обновлении. Берегите себя и свой продакшен.

hirthwork

вот у nginx plus при исчерпании max_conns до апстрима можно указать размер очереди и таймаут жизни запросов в ней. что произойдёт при исчерпании max_conns на обычном nginx? сразу обрубит входящий коннект с ошибкой?

hirthwork

Пишу в конфиге nginx:

listen 8080;
location / {
    proxy_pass http://localhost:8081;
    proxy_read_timeout 10s;
}

Во второй консоли делаю nc -l 8081
В третьей консоли делаю curl http://localhost:8080
Через десять секунд получаю 502 Bad Gateway
Во второй консоли ещё раз nc -l 8081
В третьей консоли ещё раз curl http://localhost:8080
Через десять секунд получаю 504 Gateway Timeout

КОНСИСТЕНТНО!

hirthwork

здесь был развёрнутый вопрос про nginx с proxy_pass и rewrite, но мне удалось найти решение, так что придётся тебе, пойнтач, проявить эрудицию где-нибудь в другом месте. сорян.

hirthwork

как нжинксу сказать таймаут до апстрима? прописал fail_timeout=10s — уже две минуты оттаймаутиться не может

hirthwork

nginx не умеет правильно прокидывать chunked ответ сервера

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.