URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 2937
[ Назад ]

Исходное сообщение
"Squid: deny_info  не показывает 'пользовательские сообщения' см внутри"

Отправлено Searcher , 16-Фев-05 16:28 
Привет народу.

Прошу помощи!
Вот немогу понять такую замутку:
дано Squid 2.5

Есть такое вот
acl pbanned url_regex -i "/etc/squid/porno.acl"
deny_info ERR_NO_PORNO pbanned
http_access deny pbanned all !pornomaniac

pornomaniac = acl src


Вместо сообщения ERR_NO_PORNO (файл есть в нужном месте) выдается стандартное Access denied.

Как только убираеш "отрицание" (тоесть хотелось всем запретить открыв только для одного в одном правиле) показывается месага ERR_NO_PORNO!!!!



Содержание

Сообщения в этом обсуждении
"Squid: deny_info  не показывает 'пользовательские сообщения'..."
Отправлено Searcher , 16-Фев-05 16:39 
самый прикол, что если сделать по классике
вроде
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-хост.

Вопрос таки остается - что в рассуждениях не так и почему  тогда не выводятся месаги пользовательские?!!! в случае "наворота в одну строку" ?


"Squid: deny_info  не показывает 'пользовательские сообщения'..."
Отправлено Андрей Слободяник , 16-Фев-05 18:00 
>Вопрос таки остается - что в рассуждениях не так и почему  
>тогда не выводятся месаги пользовательские?!!! в случае "наворота в одну строку" ?

Гм, интересная проблема. Насколько я понял,

# 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> и для него показывается пользовательская мессага.


"Squid: deny_info  не показывает 'пользовательские сообщения'..."
Отправлено Searcher , 17-Фев-05 10:49 
:( таки похоже на то.

Инфы ЯВНО подтверждающей это более развернутей я так и не нашел.
Придется наверное написать в мейл-лист сквидорга.


"Squid: deny_info  не показывает 'пользовательские сообщения'..."
Отправлено Александр , 12-Мрт-08 13:55 
Понимаю, что тема наверное в архиве давно, но сегодня столкнулся с данной проблемой и решение нашлось!
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, то получал стандартное сообщение.


"Squid: deny_info  не показывает 'пользовательские сообщения'..."
Отправлено PATRI0T , 16-Окт-09 09:46 
>[оверквотинг удален]
>проблемой и решение нашлось!
>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

это не работает


"Squid: deny_info  не показывает 'пользовательские сообщения'..."
Отправлено Alexandr , 16-Окт-09 10:03 
>А каким образом сделать так, чтобы выводил мое сообщение об ошибке при
>превышении размера скачиваемого файла?
>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 acl

    The 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