Как условно применить директиву gzip в Caddy?

#gzip #caddy #caddyfile #breach-attack

#gzip #caddy #caddyfile #нарушение-атака

Вопрос:

Я пытаюсь настроить Caddy на использование gzip только тогда, когда заголовок Refererer соответствует определенному домену. Это делается для того, чтобы смягчить потенциальную атаку с НАРУШЕНИЕМ.

Однако я не вижу способа внутри файла Caddyfile, который позволял бы мне условно включать gzip на основе значения заголовка.

Директива gzip здесь:

https://caddyserver.com/docs/gzip

Разрешает только условное приложение на основе пути или расширения файла.

Надеюсь, это не связано с написанием пользовательской директивы?

 :3333

# How to conditionally apply the following line?
gzip
 

Комментарии:

1. Вы пытаетесь применить gzip на основе заголовков запроса или ответа?

2. Насколько я понимаю, «Заголовок запроса Refererer содержит адрес предыдущей веб-страницы, с которой была выполнена ссылка на запрашиваемую в данный момент страницу». таким образом, он всегда будет в заголовке запроса к Caddy. Каким был бы другой сценарий? Итак, да, я заинтересован в условном ответе на основе заголовка запроса, а не заголовка ответа.

3. На данный момент это может быть возможно с rewrite помощью взлома, но будущая версия Caddy позволит вам делать это напрямую. Следите за обновлениями!

4. Не могли бы вы объяснить, что вы подразумеваете под взломом перезаписи?

5. Есть ли у вас какие-либо другие механизмы для смягчения атаки с НАРУШЕНИЕМ? Однако я читал о некоторых модулях в nginx, которые добавляли бы строку произвольной длины к телу ответа, что, очевидно, имеет свои недостатки в том смысле, что это предотвращает кэширование.