Я тестирую как аутентификацию с файлом squid_passwd, так и Mysql. Это моя конфигурация
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/squid_passwd
# auth_param basic program /usr/lib/squid3/basic_db_auth --dsn "DBI:mysql:database=abc" --user "root" --password "aaa" --table "user" --usercol "User_Name" --passwdcol "Password" --cond "" --plaintext
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 1 minute
auth_param basic casesensitive off
# auth_param basic children 5
# auth_param basic realm Squid proxy-caching web server
# acl blocked dstdomain .google.com.vn .google.com.sg
acl db_auth proxy_auth REQUIRED
# acl restricted_users proxy_auth "/etc/squid3/restrictedusers"
# http_access deny restricted_users blocked
http_access allow db_auth
# And finally deny all other access to this proxy
http_access deny all
Это содержание squid_passwd
a2:$apr1$ovwnKYTS$hashedPassword
a1:$apr1$ovwnKYTS$hashedPassword
Когда я использую squid_passwd
, он работает нормально (я установил прокси для firefox, а затем успешно вошел в систему с именем пользователя / паролем
Однако, когда я использую конфигурацию Mysql (прокомментируйте строку, используя squid_passwd
и не комментируйте строку с помощью Mysql), я не могу войти на прокси-сервер, даже команда тестирования работает
/usr/lib/squid3/basic_db_auth --dsn "DBI:mysql:database=abc" --user "root" --password "aaa" --table "user" --usercol "User_Name" --passwdcol "Password" --cond "" --plaintext
a1 password
OK
(и cache.log
of squid также указывает, что аутентификация прошла успешно)
Вот моя таблица пользователей
mysql> select User_Name, Password from user;
+-----------+----------+
| User_Name | Password |
+-----------+----------+
| a1 | password |
| a2 | password |
+-----------+----------+
Что я здесь сделал не так?
Попробуйте отключить SELinux в системе. Это решит проблему.