Welcome! Log In Create A New Profile

Advanced

Re: Некорректный ответ при использовании fastcgi cache background update on

gz
April 09, 2018 03:09PM
> Судя по приведённому debug log'у, в кэше лежит валидный ответ
> бэкенда с "Status: 200" и "Content-Length: 0", который и отдаётся
> клиенту.

> Очевидно, что ответ этот nginx не сам придумал, а получил от
> бэкенда. Почему бэкенд прислал именно такой ответ - надо смотреть
> в debug log'е в тот момент, когда это произошло.

Понемногу картина проясняется.
Ответ действительно генерирует приложение, но это не основной бэкенд, а бэкенд для SSI-вставки баннеров.

У меня были подозрения, что подзапрос на фоновое обновление кэша уходит куда-то не туда и они подтвердились.
Добавил метку при генерации ответа и вижу её в файле кэша, когда вместо 404 начинает отдаваться 200.

Отдача баннеров производится из отдельного internal-локейшна, который вызывается только при обработке SSI.
На странице 404 есть SSI баннеров.
Баннеры кэшируются отдельно, у них не только своя директория кэша, но и свой ключ:
fastcgi_cache_path /var/www/site/cache/banners levels= keys_zone=banner:5m inactive=1m max_size=5m;

location /banner/ {
internal;

fastcgi_cache banner;
fastcgi_cache_valid 200 24h;
fastcgi_cache_key '$uri$is_args$args';

set $handler banner.html;
set $querystring $args;

fastcgi_param REQUEST_URI $uri$is_args$args;
fastcgi_param SCRIPT_NAME $uri$is_args$args;
fastcgi_param PATH_INFO $uri$is_args$args;

include parser;
fastcgi_pass fcgiwrap;
}

Могу лишь предположить, что подзапрос фонового обновления кэша наследует fastcgi_cache_path и fastcgi_cache_key от основного запроса, а значения, указанные в соответствующем локейшне, игнорируются, что приводит к перезаписи содержимого кэша.

Памятуя о сохранении request_uri в подзапросах, специально использую в ключе кэша подзапроса $uri.
Subject Author Posted

Re: Некорректный ответ при использовании fastcgi cache background update on

Maxim Dounin April 09, 2018 10:38AM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 09, 2018 01:43PM

Re: Некорректный ответ при использовании fastcgi cache background update on

Maxim Dounin April 09, 2018 02:10PM

Re: Некорректный ответ при использовании fastcgi cache background update on

Gena Makhomed April 09, 2018 02:44PM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 09, 2018 02:50PM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 09, 2018 03:09PM

Re: Некорректный ответ при использовании fastcgi cache background update on

Maxim Dounin April 09, 2018 04:06PM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 09, 2018 04:28PM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 16, 2018 01:50PM

Re: Некорректный ответ при использовании fastcgi cache background update on

Maxim Dounin April 16, 2018 02:56PM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 16, 2018 03:17PM

Re: Некорректный ответ при использовании fastcgi cache background update on

Maxim Dounin April 16, 2018 04:36PM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 16, 2018 04:52PM

Re: Некорректный ответ при использовании fastcgi cache background update on

Maxim Dounin April 17, 2018 08:40AM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 17, 2018 12:17PM

Re: Некорректный ответ при использовании fastcgi cache background update on

Maxim Dounin April 17, 2018 12:32PM

Re: Некорректный ответ при использовании fastcgi cache background update on

gz April 18, 2018 03:20PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 300
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready