Привет всем!
Есть необходимость использовать digest_auth для этого собрал squid 2.5 ST7 так:
./reconfigure
--sysconfdir=/usr/local/etc/squid \
--enable-delay-pools \
--enable-auth="digest,ntlm" \
--enable-external-acl-helpers="wbinfo_group" \
--enable-digest-auth-helpers=password
После сборки сделал squid -v:
Squid Cache: Version 2.5.STABLE7
configure options: --sysconfdir=/usr/local/etc/squid --enable-delay-pools --enable-auth=digest,ntlm --enable-external-acl-helpers=wbinfo_group --enable-digest-auth-helpers=password --silentВ конфе указал
auth_param digest program /usr/local/squid/libexec/digest_pw_auth /usr/local/etc/squid/test.txt
auth_param digest children 5
auth_param digest realm Squid proxy-caching web server
auth_param digest nonce_garbage_interval 5 minutes
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50acl our_users proxy_auth REQUIRED
http_access allow our_users
http_access deny allНичего другого касаемого acl, http_access и auth в конфиге больше не указывал для чистоты эксперимента.
Затем squid -k parse - все ОК
Файл /usr/local/etc/squid/test.txt незнаю как создать и для этого в тупую использовал htdigest от apache. Завел юзера user с паролем 123.
Сделал squid -k reconfigure
После этого делаю запрос какого-либо ресурса а он даже не спросив пароля сразу мне в ответ ДОСТУП ЗАПРЕЩЕН.
Если заменить deny all на allow all, то все фурычит.Вопрос:
1. Как создать файл паролей к этому аутентификатору?
2. Даже если и файл с пользователями корявый то почему Internet Explorer 6.0 sp1 не выдал запрос на ввод имени и пароля? Между прочем когда я делал digest-аутентификацию на apache'е, все получалось а со сквидой нет...
Поможите плиз....
RTFM!Файл с паролями имеет след. вид:
login:password где login и password - открытый текст...
Удачи!
Спасибо!
1. Метод RTFM, помог ответить только на второй вопрос. В squid.conf'е написано, что если меняешь тип аутентификации, то сквиду надо ОСТАНОВИТЬ а потом запустить и наслаждатся.
2. На первый же вопрос ответ нашел в исходниках digest_pw_auth, а позже из Вашего поста.
3. Появилась проблема. В сквиде написано
auth_param digest program /usr/local/squid/libexec/digest_pw_auth /usr/local/etc/squid/users.pwd
auth_param digest children 5
auth_param digest realm testrealm
auth_param digest nonce_garbage_interval 5 minutes
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50acl our_users proxy_auth REQUIRED
http_access allow our_users
http_access deny allи запустил сквиду так: squid -d9 -D -N
она нормально запустилась. Среди прочего написала
helperOpenServers: Starting 1 'digest_pw_auth' processes
Делаю запрос из браузера IE6.0SP1, он запросил данные, я ввел.
В ответ на консоле сервера
WARNING: All digestauthenticator processes are busy.
WARNING: up to 1 pending requests queued
WARNING: digestauthenticator #1 (FD 6) exited Too few digestauthenticator processes are running2005/02/17
11:42:50| Starting new helpers helperOpenServers: Starting 'digest_pw_auth' processes
WARNING: digestauthenticator #1 (FD 15) exited Too few digestauthenticator processes are running2005/02/17Почему-то при передаче имени и пароля digest_pw_auth'у он сразу заканчивает свою работу.
согласно исходникам digest_pw_auth, он выходит только при условии когда сквида ему ничего не передает
while (fgets(buf, 256, stdin) != NULL){
...
}
exit(0);Народ подскажите как лечить!!!...
Опечатка. Строку
helperOpenServers: Starting 1 'digest_pw_auth' processes
читать как
helperOpenServers: Starting 5 'digest_pw_auth' processes
>Почему-то при передаче имени и пароля digest_pw_auth'у он сразу заканчивает свою работу.
>
>согласно исходникам digest_pw_auth, он выходит только при условии когда сквида ему ничего
>не передает
> while (fgets(buf, 256, stdin) != NULL){
> ...
> }
> exit(0);
>
>Народ подскажите как лечить!!!...Програмка скорее всего падает, так как не может получить доступ к файлу на чтение.
Проверь права доступа на файлик с паролями - он должен читаться пользователем squid