nginx удаляет последние измененные и если измененные заголовки, так как моему приложению rails они нужны

Приложение My Rails 3.2 использует - через #stale? - If-Modified-Since HTTP-заголовок в запросе и Last-Modified заголовок в ответе, чтобы решить, должен ли он генерировать некоторые данные динамически. Это очень хорошо работает в разработке (будь то использование webrick или unicorn_rails) как curl -D headers.txt показывает, что если правильно If-Modified-Since значение предоставляется 304 ответ, в то время как Last-Modified В противном случае заголовок отправляется вместе с данными запроса.

К сожалению, однажды развернутый за nginx, ни If-Modified-Since (предоставляя правильное значение заголовка) передается единорогу - и, следовательно, приложению Rails - ни Last-Modified передается клиенту: запрос безоговорочно генерируется, и ответ никогда не содержит правильных заголовков.

1 ответ

Решение

Оказывается, на самом деле nginx ничего не зачищал. Приборы показали, что If-Modified-Since был получен контроллером. Рельсы #stale? получал запрос, содержащий плохие результаты, в результате чего nil аргумент, молча проглатывая его и впоследствии игнорируя сравнения с If-Modified-Since и позиционирование Last-Modified в nil,

Другие вопросы по тегам