首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置带有基本用户名和密码身份验证的squid代理?

如何设置带有基本用户名和密码身份验证的squid代理?
EN

Stack Overflow用户
提问于 2010-07-21 15:47:15
回答 1查看 200.8K关注 0票数 89

我目前在acl中使用ip,我想使用用户名和密码来完成此操作。

EN

回答 1

Stack Overflow用户

发布于 2014-07-22 10:22:21

下面是我在Ubuntu14.04上设置基本身份验证的步骤(在其他地方找不到指南)

基本squid配置

/etc/squid3/squid.conf,而不是超级臃肿的默认配置文件

代码语言:javascript
运行
复制
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

对于squid 2.x,您需要编辑/etc/squid/squid.conf文件和位置:

代码语言:javascript
运行
复制
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

设置用户

代码语言:javascript
运行
复制
sudo htpasswd -c /etc/squid3/passwords username_you_like

并为所选用户名输入两次密码,然后

代码语言:javascript
运行
复制
sudo service squid3 restart

squid 2.x

代码语言:javascript
运行
复制
sudo htpasswd -c /etc/squid/passwords username_you_like

并为所选用户名输入两次密码,然后

代码语言:javascript
运行
复制
sudo service squid restart

htdigest与htpasswd

对于许多人问我:这两个工具产生不同的文件格式:

  • htdigest以明文形式存储密码text.
  • htpasswd存储经过哈希处理的密码(提供各种哈希算法)

尽管格式不同,basic_ncsa_auth 仍然能够解析使用 htdigest.生成的密码文件因此,您可以选择使用:

代码语言:javascript
运行
复制
sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like

请注意,此方法是经验性的,未记录在案,可能不受Squid未来版本的支持。

在Ubuntu14.04上,htdigesthtpasswd都可以在[apache2-utils][1]包中获得。

MacOS

类似于上面的应用,但文件路径不同。

安装squid

代码语言:javascript
运行
复制
brew install squid

启动squid服务

代码语言:javascript
运行
复制
brew services start squid

Squid配置文件存储在/usr/local/etc/squid.conf中。

注释或删除以下行:

代码语言:javascript
运行
复制
http_access allow localnet

然后类似于linux配置(但具有更新的路径)添加以下内容:

代码语言:javascript
运行
复制
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

请注意,在使用brew时,basic_ncsa_auth的路径可能不同,因为它取决于安装的版本,您可以使用ls /usr/local/Cellar/squid/验证这一点。另请注意,您应该在以下部分下面添加上面的内容:

代码语言:javascript
运行
复制
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

现在为自己生成一个user:password basic auth凭据(注意:MacOS上也提供了htpasswdhtdigest )

代码语言:javascript
运行
复制
htpasswd -c /usr/local/etc/squid_passwords username_you_like

重新启动squid服务

代码语言:javascript
运行
复制
brew services restart squid
票数 212
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3297196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档