Добрый день. Я использую Nginx 1.9.5. В конфигурационном файле есть секция для кэширования статического контента в которой жётко прописаны шаблоны url для кэширования (20 минут). Вся динамика отдаётся апстримами. Выбор апстрима осуществляется на основе анализа заголовка X-Forwarded-Proto. Если X-Forwarded-Proto = http, то передаём на http://upstream1, если https то на https://upstream2 Апстрим обрабатывает запросы и отвечает либо 200 кодом, либо 302 в зависимости от его внутренней логики.
Недавно я столкнулся с единичным случаем следующей проблемы: Неожиданно nginx стал возвращать клиентам на запрос POST https://my.domain/test вместо 302 кода с https://my.domain/next_step 302 код c редиректом на http://my.domain/test. Данные запросы всегда проксировались на апстримы, и уже они отвечали. В этом же случае запроса к апстримам не происходило, поле $upstream_addr содержало значение "-". Через 18 часов ситуация нормализовалась. Создалось ощущение что NGINX просто отдавал ответ из кэша, хотя для данного локейшена кэш не используется, да и для POST запросов он не возможен. Проблема была обнаружена уже постфактум. Может кто-то сталкивался с чем-то подобным. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,268127,268127#msg-268127 _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
