Можно ли динамически установить уровень сжатия Brotli на основе заголовков запросов в Nginx?
Я использую Brotli для сжатия ответа и делаю это в Nginx с помощью модуля nginx-brotli.
Я хотел бы установить значение для
brotli_comp_level
динамически на основе заголовков запроса, чтобы клиенты в медленных сетях могли запрашивать более высокое сжатие. Как я могу этого добиться?
Я безуспешно пытался:
http {
...
brotli on;
brotli_comp_level 6;
brotli_types *;
if ($http_x_brotli_high_quality) {
brotli_comp_level 11;
}
}
1 ответ
Это невозможно со стандартным / упакованным модулем Brotli от NGINX Plus.
Однако вы можете выполнить пользовательскую компиляцию (не рекомендуется для производства) со следующим интегрированным запросом на перенос.
Или, если позволяет бюджет, используйте nginx-module-brotli
module от NGINX Extras, в пакеты которого интегрирован вышеупомянутый запрос на вытягивание. Для этого варианта требуется машина CentOS / RHEL и поддержка платной подписки с GetPageSpeed.