Re: Nginx proxy. Исключить токен в запросе

Валентин Бартенев vbart at nginx.com
Thu Nov 15 18:12:47 UTC 2012


On Thursday 15 November 2012 20:37:03 Serega_AD wrote:
> Добрый день, есть задача: установить кэширующий прокси сервер - "production
> server" - "nginx proxy" - "api.other-company.server"
> изучив документацию  -
> http://nginx.org/ru/docs/http/ngx_http_proxy_module.html не смог найти
> ответ на вопрос, может ли nginx кэшировать запросы только по определенной
> части request-а исключая токен. формат запроса:
> https://api.site.com/API/REST/person/<token>/reports/<report_name>/data/[Pa
> geNumber]/[PageItemsCount] поле token - всегда уникально, поэтому нужно
> правило для кэширования, исключающее данный параметр. поле <report_name>
> изминяется не всегда - тоесть нужно кэшировать по данному параметру.
> поля [PageNumber] и [PageItemsCount] не обязательные - кэшировать все что в
> конце без разбора.
> 
> Если вообще возможна такая достаточно тонкая настройка параметров
> кэширования, а особенно возможность вырезать <token> из урла, буду
> благодарен за пример такого конфига.
> Заранее спасибо.
> 

Вас видимо интересует proxy_cache_key в сочетании с map.

http://nginx.org/r/proxy_cache_key/ru
http://nginx.org/r/map/ru

Либо в сочетании с location, заданным регулярным выражением с захватами.


--
Валентин Бартенев
http://nginx.com/support.html
http://nginx.org/en/donation.html


Подробная информация о списке рассылки nginx-ru