Squid 的会话助手去哪了?
在更改认证设置之前,请沿着已安装的软件包、文档中记录的文件名以及构建选项,追查缺失的 Squid 助手。
从另一台服务器复制来的配置提到了 ext_session_acl。你的 Squid 软件包里在那个路径上并没有文件。这可能是软件包不一致,而不是用户会话出了故障。
Squid 可以把外部 ACL 的判定交给助手程序,但在 external_acl_type 中写上一个程序名并不会把它安装好。二进制文件必须存在于实际部署的环境中。
对比三件事:
- 你所使用的 Squid 版本中助手在文档里的名称。
- 你的发行版软件包实际提供的文件。
- Squid 所加载配置中该可执行文件的绝对路径。
Debian 为 ext_session_acl 发布了手册页,但手册标题对得上,并不能证明你服务器上那个复制来的路径里真的存在二进制文件。请查看该安装自身的软件包信息和助手目录。
如果它的软件包并不提供所需的助手,就要查看发行版支持的软件包拆分方式和构建信息。源码树中的子目录名,并不能证明生成的二进制文件存在于每一次构建中。
要把“文件缺失”和“文件存在但无法启动”分开看。后者可能涉及解释器、共享库、权限或服务隔离。针对这类故障,请查看 Squid 的助手启动消息。这两种症状都不是代理用户密码错误的证据。
来自无关旧服务器的助手,不会仅仅因为文件名和配置对得上就可以直接替换。