Назад | Перейти на главную страницу

Параметр пользовательского кэша NGiNX на основе соответствия регулярному выражению

Мои вопросы заключаются в следующем:


Подробности:

Я делаю начальный вывод в своем приложении на основе синтаксического анализа пользовательского агента ... который в основном разбивает рендеринг запроса, поэтому начальный рендеринг будет соответствовать размерам начальной загрузки "xs", "sm", "md", "lg" ...

У меня есть свои регулярные выражения, разработанные так, что мобильные устройства будут отображать вывод для "xs", а обычные планшеты будут получать "sm" по умолчанию, а кто-то другой получит "md" ... после привязки на стороне клиента он будет настроен на фактический дисплей устройства, это в основном для того, чтобы браузеры получали нужный размер.

Я хочу уметь:

- Как установить пользовательские переменные на основе регулярного выражения для агента пользователя?

Использовать карта. Например :

map $http_user_agent $my_var {
    default     "default_value";
    "~^foo$"    "value_1";
    "~^bar$"    "value_2";
}

- Как мне установить собственные заголовки для запроса обратного прокси?

Использовать proxy_set_header. Например :

proxy_set_header My-Header $my_var;

- Как использовать эти значения в качестве параметров кеширования?

Определите эти дополнительные заголовки как часть вашего ключ кеширования прокси :

proxy_cache_key $scheme$request_uri-$http_my_header-$http_my_other_header