如何使用基本的用户名和密码身份验证设置鱿鱼代理?[关闭]


85

我目前在ACL中使用ip,并且我想使用用户名和密码来执行此操作。


这是另一个示例,该示例如何使用htdigest样式身份验证设置Squid3:dabase.com/blog/Minimal_squid3_proxy_configuration
hendry 2012年

这里是Squid3安装和配置一个完整的指南与认证hevi.info/2015/09/...
663

Answers:


202

这是我在Ubuntu 14.04上设置基本身份验证所要做的(在其他地方找不到指南)

基本的鱿鱼conf

/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

鱿鱼2.x

对于鱿鱼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

鱿鱼2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

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

sudo service squid restart

htdigest vs htpasswd

对于许多问我的人:2种工具产生不同的文件格式:

  • htdigest 以纯文本形式存储密码。
  • htpasswd 存储散列的密码(可用各种散列算法)

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

sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like

请注意,这种方法是经验性的,没有文档记录,Squid的未来版本可能不支持这种方法。

在Ubuntu 14.04上htdigesthtpasswd这两个[apache2-utils][1]软件包都可用。

苹果系统

与上述类似,但文件路径不同。

安装鱿鱼

brew install squid

启动鱿鱼服务

brew services start squid

鱿鱼配置文件存储在/usr/local/etc/squid.conf

注释或删除以下行:

http_access allow localnet

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

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

重新启动鱿鱼服务

brew services restart squid

1
立即修复。谢谢马克。
Stefano Fratini 2014年

11
对我来说,htdigest命令不起作用,但是一旦我将其替换为“ sudo htpasswd -cd / etc / squid3 / passwords admin”,它就会按预期运行。
Phil Hannent 2014年

1
那就是我的想法,即使对我有用。与该帖子相关的讨论有50%的人说它可行,而50%的人建议更改htpasswd。我没有足够的声誉参加讨论,但是... :(
Stefano Fratini 2014年

2
为我工作,但我还必须使用htpasswd而不是htdigest,我不知道为什么,但是以这种方式起作用。
Pisu 2015年

21
如果您的系统没有,htpasswd请这样做sudo apt-get install apache2-utils
exebook's
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.