Привет народу.Прошу помощи!
Вот немогу понять такую замутку:
дано Squid 2.5Есть такое вот
acl pbanned url_regex -i "/etc/squid/porno.acl"
deny_info ERR_NO_PORNO pbanned
http_access deny pbanned all !pornomaniacpornomaniac = acl src
Вместо сообщения ERR_NO_PORNO (файл есть в нужном месте) выдается стандартное Access denied.Как только убираеш "отрицание" (тоесть хотелось всем запретить открыв только для одного в одном правиле) показывается месага ERR_NO_PORNO!!!!
самый прикол, что если сделать по классике
вроде
http_access allow pbanned pornomaniak
http_access deny pbannedвсе отлично работает.
Исходя с того, что в правилах типа акцес действует правило логического И
http_access deny pbanned all !pornomaniac
должно вроде как работать комбинация pbanned all !pornomaniac
тоесть истина будет когда все 3 истинны.
Упростим его до http_access deny pbanned !pornomaniac (так тоже отлично работает в плане закрытия доступа)тоесть истина будет при 2ух 1, а именно когда
pbanned попадется
и когда это будет не pornomaniac-хост.Вопрос таки остается - что в рассуждениях не так и почему тогда не выводятся месаги пользовательские?!!! в случае "наворота в одну строку" ?
>Вопрос таки остается - что в рассуждениях не так и почему
>тогда не выводятся месаги пользовательские?!!! в случае "наворота в одну строку" ?Гм, интересная проблема. Насколько я понял,
# A single ACL will cause
# the http_access check to fail. If a 'deny_info' line exists
# for that ACL Squid returns a corresponding error page.только _один_ ACL должен быть в записи http_access deny <acl> и для него показывается пользовательская мессага.
:( таки похоже на то.Инфы ЯВНО подтверждающей это более развернутей я так и не нашел.
Придется наверное написать в мейл-лист сквидорга.
Понимаю, что тема наверное в архиве давно, но сегодня столкнулся с данной проблемой и решение нашлось!
acl с именем pbanned должен стоять последним! т.е.acl pbanned url_regex -i "/etc/squid/porno.acl"
deny_info ERR_NO_PORNO pbanned
http_access deny all !pornomaniac pbannedкак то так... :)
у меня тоже 3 aclя в http_access и пока я не поставил последним, то, которое указано в deny_info, то получал стандартное сообщение.
>[оверквотинг удален]
>проблемой и решение нашлось!
>acl с именем pbanned должен стоять последним! т.е.
>
>acl pbanned url_regex -i "/etc/squid/porno.acl"
>deny_info ERR_NO_PORNO pbanned
>http_access deny all !pornomaniac pbanned
>
>как то так... :)
>у меня тоже 3 aclя в http_access и пока я не поставил
>последним, то, которое указано в deny_info, то получал стандартное сообщение.А каким образом сделать так, чтобы выводил мое сообщение об ошибке при превышении размера скачиваемого файла?
acl NET src 192.168.0.0/255.255.0.0
acl allow_download src "/etc/squid/ALLOW_DOWNLOAD"
reply_body_max_size 0 allow_download
deny_info ERR_TOO_BIG NET
reply_body_max_size 5 MB NET
http_access allow NETэто не работает
>А каким образом сделать так, чтобы выводил мое сообщение об ошибке при
>превышении размера скачиваемого файла?
>acl NET src 192.168.0.0/255.255.0.0
>acl allow_download src "/etc/squid/ALLOW_DOWNLOAD"
>reply_body_max_size 0 allow_download
>deny_info ERR_TOO_BIG NET
>reply_body_max_size 5 MB NET
>http_access allow NET
>
>это не работаетНу вот к примеру с сайта сквида инфа
Usage: deny_info err_page_name acl
or deny_info http://... acl
or deny_info TCP_RESET aclThe acl is typically the last acl on the http_access deny line which
denied access.У тебя правило http_access allow, а на сайте написано что acl это последний acl в http_access deny правиле.
Может попробовать переписать правило http_access deny !NET