Firefox新建标签页反复请求Squid密码 求配置排查帮助
我来帮你梳理下可能的问题点,结合你提供的Squid配置和使用场景逐一分析:
核心场景回顾
你已经在Firefox中配置了无需代理的页面,但每次打开新标签页时仍会弹出Squid的身份验证请求。你的Squid部署在CentOS 7系统,客户端使用Firefox 52.7.2版本。
你的Squid配置(整理后)
debug_options ALL,1 http_port 3128 logfile_rotate 30 maximum_object_size 32 MB icp_port 0 acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY cache_store_log none access_log /var/log/squid/access.log squid visible_hostname my_server.domain.com acl domain1 dstdomain .domain1.com http_access allow domain1 acl domain2 dstdomain .domain2.com http_access allow domain2 auth_param basic program /usr/lib64/squid/basic_ldap_auth -b "ou=People,dc=mycompany,dc=com" -f "uid=%s" -u uid -D "uid=xxx,ou=xxx,dc=mycompany,dc=com" -w "password" -h ldap://myldap.com auth_param basic children 350 auth_param basic realm Web-Proxy auth_param basic credentialsttl 2 hours acl if_ok src "/etc/squid/conf/default/ipadress" acl BlockedHost_mdl src "/etc/squid/mdl.txt" http_access deny BlockedHost_mdl acl BlockedHost_bruteforceblocker src "/etc/squid/bruteforceblocker.txt" http_access deny BlockedHost_bruteforceblocker acl BlockedHost_shdrop src "/etc/squid/shdrop.txt" http_access deny BlockedHost_shdrop acl internet proxy_auth REQUIRED # 推测后续存在 http_access allow internet 类规则
可能的问题点及解决步骤
1. Firefox新标签页的实际请求地址未加入代理例外
Firefox 52的默认新标签页会加载在线内容(比如Mozilla的服务域名,像tiles.services.mozilla.com、accounts.firefox.com等),这些地址大概率不在你设置的“无需代理的页面”列表中,导致请求被发往Squid触发验证。
- 解决方法:
- 查看Squid的
access.log(路径/var/log/squid/access.log),找到新标签页触发的请求地址; - 打开Firefox的网络设置>连接设置,将这些地址添加到“不使用代理的地址”列表中。
- 查看Squid的
2. Squid配置未放行本地/回环地址
如果Firefox的新标签页是本地资源(比如about:newtab),但你的Squid配置没有放行本地回环地址,且Firefox代理设置未勾选“对本地地址不使用代理”,就会把本地请求发往Squid触发验证。
- 解决方法:
在squid.conf中添加本地地址放行规则(务必放在所有auth规则之前):
同时在Firefox的代理设置里确认“不使用代理的地址”包含acl localhost src 127.0.0.1/32 ::1 acl localnet src 10.0.0.0/8 acl localnet src 172.16.0.0/12 acl localnet src 192.168.0.0/16 http_access allow localhost http_access allow localnetlocalhost、127.0.0.1、::1。
3. if_ok ACL未配置对应放行规则
你定义了acl if_ok src "/etc/squid/conf/default/ipadress",但配置里没有添加http_access allow if_ok规则。如果你的客户端IP在这个文件里,却没有被放行,还是会触发auth验证。
- 解决方法:
在squid.conf中添加(放在auth规则之前):http_access allow if_ok
4. Squid规则顺序不合理
Squid的规则是从上到下匹配,一旦匹配就停止后续检查。你当前的domain1/domain2放行在最前面,但如果新标签页的地址不在这两个域名里,就会走到后面的auth规则。
- 解决方法:
确保所有需要跳过验证的规则(本地地址、if_ok、Firefox新标签页域名)都放在acl internet proxy_auth REQUIRED和对应的http_access allow internet规则之前。
5. 验证配置修改效果
每次修改squid.conf后,执行systemctl reload squid(CentOS 7)重新加载配置,然后测试Firefox新标签页是否还会弹出验证。如果问题依旧,再次查看access.log里的请求记录,针对性地添加放行规则。
内容的提问来源于stack exchange,提问作者Tony92

