Я только что создал прокси-сервер на основе Squid, который отлично работает с конфигурацией по умолчанию. Однако я не хочу, чтобы это было доступно всем. Я хочу настроить доступ по имени пользователя и паролю в Squid. Мне сообщили, что это относительно просто. Пока что я сделал следующее:
sudo htpasswd -c /etc/squid/passwd A
And added the following to /etc/squid/squid.conf
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
acl AUser proxy_auth A
http_access allow AUser
Я считаю, что это правильный подход? Первоначально я получил сообщение об ошибке «не могу использовать прокси-аутентификацию, потому что никакие схемы аутентификации не настроены полностью», но я решил эту проблему, поместив строку auth_param basic program ... перед строкой acl. Однако, когда я перезапустил службу squid и ввел IP-адрес и порт прокси-сервера в свой браузер (Chrome), он не смог загрузить страницу или действительно запросить имя пользователя / пароль. Затем я отследил это до того факта, что у меня не должно быть «http_access deny all» в файле squid.conf. Я не уверен, что это лучшая установка или действительно ли я создаю какие-либо проблемы с безопасностью, но, похоже, сейчас у меня все работает нормально.
Большое спасибо!
Вам просто нужно проверить документ с функцией аутентификации для squid, который доступен по адресу
http://wiki.squid-cache.org/Features/Authentication
В squid доступно несколько методов аутентификации, и все они хорошо документированы в приведенной выше ссылке. Пройдите его и выберите подходящий именно вам.
Просто наткнулся на этот старый пост, когда столкнулся с той же проблемой. Я считаю, что нет необходимости устанавливать связь или отключать "http_access deny all". Все, что вам нужно сделать, это вместо того, чтобы указывать ACL для одного пользователя, указать более широкую группу. Что-то вроде
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
Вот некоторые дополнительные настройки для авторизации.
#This line defines the file holding the authentication details and also the program to check those details
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/password
#Define the maximum number of child process to spawn for authentication
auth_param basic children 5
#user will see this message "Squid proxy-caching web server" in authentication box
auth_param basic realm Squid proxy-caching web server
#time to live after a successful authentication
auth_param basic credentialsttl 2 hours
#to make username case insensitive
auth_param basic casesensitive off
это поможет.