После использования модуля http_substitutions_filter nginx игнорирует HTTP-заголовок `Range`

Я недавно пытаюсь использовать http_substitution_filter_moduleдля фильтрации и замены некоторого контента на моем сервере nginx.
После того, как я добавил subs_filter Правило, я больше не могу использовать Range заголовок для получения части файла, но полного содержимого.

Пример:
flag.txt в /var/www/html с содержанием:

The flag is FLAG{IAMFLAGYEEAH}.

я могу использовать curl -r 13-16 <server-address>/flag.txtчтобы получить только часть файла. Вывод:

LAG{

Но если я включил sub_filter правило Rangeзаголовок больше не работает. Используя ту же команду, я получаю следующий результат:

The flag is FLAG{NOFLAGFORYOU}.

Хотя фильтр работает отлично, возвращается полный контент.

Вот мой nginx/sites-enabled/default config (остальные настройки такие же, как по умолчанию):

location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
    try_files $uri $uri/ =404;
    subs_filter_types text/plain;
    subs_filter "FLAG{\w*}" "FLAG{NOFLAGFORYOU}" ir;
}

и моя версия nginx 1.14.0. Модуль был установлен командой apt install libnginx-mod-http-subs-filter.

Как мне сохранить Range заголовок работает и одновременно фильтрует контент?

0 ответов

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