Можно ли динамически установить уровень сжатия 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-brotlimodule от NGINX Extras, в пакеты которого интегрирован вышеупомянутый запрос на вытягивание. Для этого варианта требуется машина CentOS / RHEL и поддержка платной подписки с GetPageSpeed.

Другие вопросы по тегам