Welcome! Log In Create A New Profile

Advanced

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

Maxim Dounin
April 17, 2018 08:40AM
Hello!

On Mon, Apr 16, 2018 at 04:52:20PM -0400, gz wrote:

> > Вопрос не в том, что используется в ключе кэширования, а в том,
> > что отправляется на бэкенд. И на бэкенд у вас при перезаписи как
> > раз отправляется $handler, установленный в другом подзапросе:
>
> > 2018/04/09 21:29:34 [debug] 16867#16867: *1901 fastcgi param:
> "PATH_TRANSLATED: /var/www/site/www/banner.html"
>
> Не совсем понимаю как результат работы подзапроса, пусть и с перезаписанными
> переменными окружения, может быть помещён в кэш основного запроса.
> Если кэши запроса и подзапроса разные (разные cache_path) да к тому же
> используют разные ключи кэширования.
> То есть, подзапрос баннера вдруг перезаписывает ответ всей страницы.

Это не подзапрос баннера. Это подзапрос
fastcgi_cache_background_update. Но в нём используются те же
переменные, что уже перезаписаны подзапросом баннера, и в
результате на бэкенд уходит неправильное значение переменной
PATH_TRANSLATED. И бэкенд, в свою очередь, отвечает на него в
соответствии с этим неправильным значением.

> То, куда попадёт ответ подзапроса зависит от PATH_TRANSLATED?

Нет. Он неё зависит, что у вас отвечает бэкенд.

> > Бэкенд возвращает пустой ответ, и этот ответ попадает в кэш. То
> > есть всё ровно так, как я и предполагал. Нужно исправлять
> > конфигурацию так, чтобы запрос на бэкенд не использовал
> > переменных, которые могут быть переписаны другими подзапросами.
>
> Не уверен, что это возможно.
> FCGI-приложение требует этих переменных для своей работы.

Наиболее простое решение - использовать отдельный location для
баннеров с отдельными же переменными. Наиболее правильное -
переписать логику так, чтобы нужные бэкенду значения вычислялись
не с помощью set, а с помощью map { volatile; ... }.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
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: 317
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