用 debug_options 第 29 节追踪 Squid 7 身份验证
使用受限的第 29 节调试会话,跟踪质询、客户端响应、身份验证辅助程序以及访问策略判定。
Squid 返回的第一个 407 可能正是身份验证的起点。要找出某次尝试停在哪里,可沿着一条请求链路依次查看客户端、身份验证机制和访问判定。
在 Squid 7 的诊断会话中,第 29 节包含身份验证的调试消息。临时配置可以在保留整体警告级别的同时提高该节:
debug_options ALL,1 29,5
记下先前的调试设置,应用诊断配置,并复现一次小型且可识别的尝试。在配置好的 cache_log 目标处结合访问日志阅读调试输出。
| 要寻找的证据 | 它回答的问题 |
|---|---|
| 给出的 Proxy-Authenticate 方案 | 此代理要求客户端使用什么? |
| 客户端的身份验证响应 | 客户端是否继续了给出的交换? |
| 身份验证机制或辅助程序的结果 | 账户是被接受、拒绝,还是因处理故障而被阻断? |
| Squid 的访问策略判定 | 在该身份验证状态之后,请求发生了什么? |
某些方案需要多轮质询。仅仅出现重复的 407 记录,并不能证明浏览器忽略了提示,也不能证明提供的密码有误。
遇到辅助程序故障时,检查配置的辅助程序及其特定于方案的结果协议。无法启动的进程与正在运行却拒绝账户的辅助程序是不同的问题。如果身份验证已被接受但 Squid 仍拒绝该请求,请遵循相应的访问规则。
弄清整条链路后,恢复原来的调试级别。完整的第 9 级输出可能非常庞大;身份验证诊断也需要受限处理,因为账户信息和其他敏感状态可能会出现在其中。