Welcome! Log In Create A New Profile

Advanced

Re: proxy_store и переменные

Anonymous User
February 11, 2019 01:12AM
Большое спасибо!

> On 11 Feb 2019, at 04:04, Maxim Dounin <mdounin@mdounin.ru> wrote:
>
> Hello!
>
>> On Mon, Feb 11, 2019 at 12:40:53AM +0300, Vladimir Sopot wrote:
>>
>> Строим вот такой просто кэшер уменьшенной статики. Для простоты
>> добавляем это в nginx.conf.default
>>
>> resolver 8.8.8.8;
>>
>> server {
>> listen *:80;
>> server_name “~^cache-(\d).domain.ru$";
>> set $store_id $1;
>
> Так делать в сколько-нибудь сложных конфигурациях нельзя.
>
> После любого внутреннего перенаправления - серверные rewrite'ы
> отрабатают заново, и "set" будет использовать $1 от последнего
> выполневшегося регулярного выражения. И в вашем случае это будет
> совсем не регулярное выражение из server_name.
>
> Если хочется вытаскивать какую-либо информацию из server_name -
> это надо делать с помощью named captures, как-то так:
>
> server_name ~^cache-(?<store_id>\d)\.domain\.ru$;
>
> [...]
>
>> Всё работает, ничего не кэшируется. Раскомментирую proxy-store и
>> получается ад: в $store_id попадает всё, что матчится (.+\.jpg)
>> и складывается в
>> '/wwwroot/domain.ru/cache-/path/to/original/jpg/request'
>> http://domain.ru/cache-/path/to/original/jpg/request',
>> например. То есть $store_id почему-то перезаписывается следующим
>> $1. Почему так и как это исправить, кроме как делать отдельный
>> server{} для каждого $store_id?
>
> См. выше. Не надо использовать нумерованные выделения в
> сколько-нибудь сложных конструкциях. В декларативном конфиге
> nginx'а предугадать, какое регулярное выражение было выполнено
> последним - редко когда возможно, и подчас их их использование
> ведёт к появлению проблем в самых неожиданных местах.
>
> --
> Maxim Dounin
> http://mdounin.ru/
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

proxy_store и переменные

Vladimir Sopot February 10, 2019 04:42PM

Re: proxy_store и переменные

Maxim Dounin February 10, 2019 08:06PM

Re: proxy_store и переменные

Anonymous User February 11, 2019 01:12AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 79
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready