Hello! On Tue, Apr 17, 2018 at 12:17:29PM -0400, gz wrote:
> > Это не подзапрос баннера. Это подзапрос > > fastcgi_cache_background_update. Но в нём используются те же > > переменные, что уже перезаписаны подзапросом баннера, и в > > результате на бэкенд уходит неправильное значение переменной > > PATH_TRANSLATED. И бэкенд, в свою очередь, отвечает на него в > > соответствии с этим неправильным значением. > > Вот теперь, кажется, понимаю. > Фоновый подзапрос обновления всей страницы получает переопределённые > переменные окружения и вместо генерации страницы генерирует пустой баннер, > который сохраняется в кэш. > > > Наиболее простое решение - использовать отдельный location для > > баннеров с отдельными же переменными. > > Так и сделано > (https://forum.nginx.org/read.php?21,279356,279363#msg-279363): > 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 задать явно. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru