LINUX.ORG.RU
ФорумAdmin

Помогите с регуляркой для squid

 ,


0

1

Нужно исключить из логирования все домены третьего уровня кроме www. Иными словами,

mail.ru
и
www.mail.ru
должны попадать в лог,

а games.mail.ru, love.mail.ru и т.п. НЕ должны попадать в лог

В squid.conf прописаны:

acl nolog dstdom_regex "/etc/squid/acl-nolog.txt"
access_log none nolog
в acl-nolog.txt нужно добавить соответствующий regex. Всё до чего я смог сам додуматься это:
[^w]\.mail\.ru$
Таким образом блокируются все домены третьего уровня, кроме имеющих на конце w.

Например, 1l-view.mail.ru в лог попадает.

Помогите составить правильную регулярку.

★★★★

Последнее исправление: afanasiy (всего исправлений: 1)

Сначала разрешить, потом запретить.
Разрешить

acl acl1 dstdom_regex ^mail\.ru ^www\.mail\.ru
access_log что-там-у-вас acl1

Запретить
acl acl2 dstdom_regex \.mail\.ru
access_log none acl2

Все остальное как было
access_log что-там-у-вас

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anonymous

Не совсем понял, зачем здесь

S+

Но в любом случае не работает, сквид ругается

ERROR: invalid regular expression: '^(?!www\.)\S+\.mail\.ru$': Invalid preceding regular expression

afanasiy ★★★★
() автор топика
Ответ на: комментарий от afanasiy

Как вариант костыля, если они (правила) однотипные, генерить списки скриптом.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.