В настоящее время я использую ip в acl, и я хочу использовать для этого имя пользователя и пароль.
В настоящее время я использую ip в acl, и я хочу использовать для этого имя пользователя и пароль.
Ответы:
Вот что мне нужно было сделать для настройки базовой аутентификации в Ubuntu 14.04 (больше нигде не нашел руководства)
/etc/squid3/squid.conf
вместо раздутого файла конфигурации по умолчанию
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
# Choose the port you want. Below we set it to default 3128.
http_port 3128
Обратите внимание на программу basic_ncsa_auth вместо старой ncsa_auth
Для squid 2.x нужно отредактировать /etc/squid/squid.conf
файл и разместить:
auth_param basic program /usr/lib/squid/digest_pw_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
sudo htpasswd -c /etc/squid3/passwords username_you_like
и дважды введите пароль для выбранного имени пользователя, затем
sudo service squid3 restart
sudo htpasswd -c /etc/squid/passwords username_you_like
и дважды введите пароль для выбранного имени пользователя, затем
sudo service squid restart
Для многих людей, которые спрашивали меня: два инструмента создают файлы разных форматов:
htdigest
сохраняет пароль в виде обычного текста.htpasswd
хранит хешированный пароль (доступны различные алгоритмы хеширования)Несмотря на эту разницу в формате, basic_ncsa_auth
вы все равно сможете анализировать файл паролей, созданный с помощьюhtdigest
. Следовательно, вы можете альтернативно использовать:
sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like
Помните, что этот подход эмпирический, недокументированный и может не поддерживаться будущими версиями Squid.
В Ubuntu 14.04 htdigest
и htpasswd
оба доступны в [apache2-utils][1]
пакете.
Применяется аналогично тому, как указано выше, но пути к файлам другие.
Установить кальмар
brew install squid
Запустить сервис squid
brew services start squid
Конфигурационный файл Squid хранится по адресу /usr/local/etc/squid.conf
.
Прокомментируйте или удалите следующую строку:
http_access allow localnet
Затем, как и в конфигурации linux (но с обновленными путями), добавьте это:
auth_param basic program /usr/local/Cellar/squid/4.8/libexec/basic_ncsa_auth /usr/local/etc/squid_passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
Обратите внимание, что путь к basic_ncsa_auth
может быть другим, поскольку он зависит от установленной версии при использовании brew
, вы можете проверить это с помощью ls /usr/local/Cellar/squid/
. Также обратите внимание, что вы должны добавить вышеуказанное чуть ниже следующего раздела:
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
Теперь создайте себе пользователь: пароль основных аутентификации учетные данные (примечание: htpasswd
а htdigest
также оба доступны на MacOS)
htpasswd -c /usr/local/etc/squid_passwords username_you_like
Перезапустите сервис squid
brew services restart squid
htpasswd
сделайте это sudo apt-get install apache2-utils
.