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

Исходное сообщение
"SQUID and Connect method "

Отправлено HermitAlex , 14-Янв-03 13:42 
На рабочем Squid понадобилось ограничить доступ на один из сайтов. В squid.conf были добавлены следующие строки
acl special_client src 192.168.200.1
acl special_url url_regex ^http://www.special.com
http_access allow special_client special_url
http_access deny special_url

После перезагрузки squid зайти ни с указанного, ни с других адресов не удалось. Убрав вышедобавленные правила, я снова попытался зайти на указанный сервер, но попытка была безуспешной.
После включения отладки в cashe.log было обнаружено, что вместо метода GET squid почему-то использует CONNECT при подсоединении к этому ресурсу. Строка в cashe.log имеет вид:
2003/01/14 11:07:34| The request CONNECT www.special.com:19638 is DENIED,, because it matched 'SSL_ports'

Как squid сказать, чтобы использовал метод GET?


Содержание

Сообщения в этом обсуждении
"RE: SQUID and Connect method "
Отправлено iiws , 14-Янв-03 14:30 
>На рабочем Squid понадобилось ограничить доступ на один из сайтов. В squid.conf
>были добавлены следующие строки
>acl special_client src 192.168.200.1
>acl special_url url_regex ^http://www.special.com
>http_access allow special_client special_url
>http_access deny special_url
>
>После перезагрузки squid зайти ни с указанного, ни с других адресов не
>удалось. Убрав вышедобавленные правила, я снова попытался зайти на указанный сервер,
>но попытка была безуспешной.
>После включения отладки в cashe.log было обнаружено, что вместо метода GET squid
>почему-то использует CONNECT при подсоединении к этому ресурсу. Строка в cashe.log
>имеет вид:
>2003/01/14 11:07:34| The request CONNECT www.special.com:19638 is DENIED,, because it matched 'SSL_ports'
>
>
>Как squid сказать, чтобы использовал метод GET?

посмотри внимательно что ты написал !
http_access allow special_client special_url
                                 ^^^^^^^^^^^
http_access deny special_url

ты разрешил этот аксель  и потом его же запрещаешь ! второе правило на deny уже не будет работать поскольку  выше ты уже разрешил
правильно так:
http_access allow special_client
http_access deny special_url



"RE: SQUID and Connect method "
Отправлено HermitAlex , 14-Янв-03 16:17 
>>имеет вид:
>>2003/01/14 11:07:34| The request CONNECT www.special.com:19638 is DENIED,, because it matched 'SSL_ports'
>>
>>
>>Как squid сказать, чтобы использовал метод GET?
>
>посмотри внимательно что ты написал !
>http_access allow special_client special_url
>http_access deny special_url

Здесь синтаксис верен. сначала для указанного адреса разрешаем special_url, а затем для всех остальных его запрещаем.
Но проблема не в том. После того, как я удалил свои правила, squid все время для этого url пытается использовать метод CONNECT вместо GET. Почему?


"RE: SQUID and Connect method "
Отправлено iiws , 15-Янв-03 08:23 
>>>имеет вид:
>>>2003/01/14 11:07:34| The request CONNECT www.special.com:19638 is DENIED,, because it matched 'SSL_ports'
>>>
>>>
>>>Как squid сказать, чтобы использовал метод GET?
>>
>>посмотри внимательно что ты написал !
>>http_access allow special_client special_url
>>http_access deny special_url
>
>Здесь синтаксис верен. сначала для указанного адреса разрешаем special_url, а затем для
>всех остальных его запрещаем.

неправильно ты говоришь !
правильно как я говорил ранее:
http_access allow special_client
http_access deny special_url

советую проверить

а вот почему у тебя идет запрос на www.special.com:19638
в порт 19638 - это вопрос !  порт 19638 сквид не проксит потому и ругается, может у тебя где-то в firewall какой-то redirect прописан ?



"RE: SQUID and Connect method "
Отправлено junior , 15-Янв-03 09:10 

>>Здесь синтаксис верен. сначала для указанного адреса разрешаем special_url, а затем для
>>всех остальных его запрещаем.
>
>неправильно ты говоришь !
>правильно как я говорил ранее:
>http_access allow special_client
>http_access deny special_url
>
Смею несогласиться с iiws
доступ вида
http_access allow special_client special_url
http_access deny special_url
Вполне жизнеспособен и отвечает поставленой задаче.
Разрешает доступ при совпадении ОБОИХ acl ОДНОВРЕМЕННО, а потом запрещает соединение. Так что автор поста прав с этим. У меня такие доступы живут и работают на ура. Более того, на них основаны более сложные права доступа вовне и доступа к самому кэшу. Вариант, когда не сработает такое условие - это когда в одной строке будет указано взаимоисключающее значение acl-ов
Например
acl user1 src 10.10.10.10/255.255.255.255
acl user2 src 10.10.10.20/255.255.255.255
http_access allow user1 user2
Так как в данном случае невозможно совпадание адресов одновременно.
(SQUID FAQ)
Другим вариантом для автора поста будет будет
http_access deny special_url !special_client

Вопрошающему нужно ещё раз пересмотреть свой squid.conf на предмет нахождения ошибок, допущенных в конфигурировании (иногда такое случается случайно) Судить, почему перестало работать то, что раньше работало - на основании его сообщения - довольно трудно, можно только догадываться.
Желательно видеть весь конфиг.
Удачи.