LINUX.ORG.RU
решено ФорумAdmin

Squid. Исключение в запрете на прослушивание/скачивание аудио для одного сайта

 


0

1

Приветствую форумчане, я тут первый раз, пришёл за помощью. У меня в конторе на одном из шлюзов стоит squid 3.5, на нём запреты:

acl localnet src 192.168.0.0/24
acl media urlpath_regex -i "/opt/squid/etc/Rasshireniya"
acl  all_audio rep_mime_type content-type audio.
acl  all_video rep_mime_type content-type video.

http_access deny media localnet
http_reply_access deny all_audio
http_reply_access deny all_video
http_access allow localnet

Всё обычно, просто и работает. В файлике с расширениями указаны оные, в том числе и mp3. Но вот не могу придумать как добавить исключение для сайта megapbx.ru откуда всем нужно скачивать (или прослушивать) записи в mp3. Можно ли в сквиде сделать исключение на закачку файлов медиа для одного сайта?
Из этого маленького куска конфига понятно, что у меня разрешено всё, что не запрещено. И как раз таки всё медиа - запрещено. Тут нужно что то типа: http_access allow all_audio localnet только из megapbx.ru/*, но так кальмар меня не поймёт.
Делал ли кто что то подобное?

В конфиг не вчитывался, но в squid иерархический обход правил, если выше срабатывает запрещающее правило, то разрешающее правило ниже уже не возымеет эффекта.

infomeh ★★ ()

разреши все с этого сайта и поставь правило выше запрета

anto215 ★★ ()

acl megapbx dstdom_regex \.megapbx\.ru
acl megapbx dstdom_regex megapbx\.ru
…
http_access deny media localnet !megapbx
http_reply_access deny all_audio !megapbx
#а видео не разрешаем)
http_reply_access deny all_video
Kuzz ★★★ ()
Последнее исправление: Kuzz (всего исправлений: 1)

Или, как сказали выше

acl megapbx dstdom_regex \.megapbx\.ru
acl megapbx dstdom_regex megapbx\.ru
…
 http_access allow media localnet megapbx
http_access deny media localnet
 http_reply_access allow all_audio localnet megapbx
http_reply_access deny all_audio
http_reply_access deny all_video

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

Отличное и изящное решение. Я тоже думал про этот ! знак означающий исключение, но так и не придумал куда его прикрутить.
Благодарю Kuzz, помог.

Otdel_PTO ()
Ответ на: комментарий от Otdel_PTO

Второй вариант от Kuzz более правильный. Потому что если вам потом понадобиться добавить что-то ещё подобное megapbx, вариант в одну строку с двумя not (!) уже не сработает.

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

Понадобиться может другой acl не обязательно dstdom_regex

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