从另一台服务器复制来的配置提到了 ext_session_acl。你的 Squid 软件包里在那个路径上并没有文件。这可能是软件包不一致,而不是用户会话出了故障。

Squid 可以把外部 ACL 的判定交给助手程序,但在 external_acl_type 中写上一个程序名并不会把它安装好。二进制文件必须存在于实际部署的环境中。

对比三件事:

  • 你所使用的 Squid 版本中助手在文档里的名称。
  • 你的发行版软件包实际提供的文件。
  • Squid 所加载配置中该可执行文件的绝对路径。

Debian 为 ext_session_acl 发布了手册页,但手册标题对得上,并不能证明你服务器上那个复制来的路径里真的存在二进制文件。请查看该安装自身的软件包信息和助手目录。

如果它的软件包并不提供所需的助手,就要查看发行版支持的软件包拆分方式和构建信息。源码树中的子目录名,并不能证明生成的二进制文件存在于每一次构建中。

要把“文件缺失”和“文件存在但无法启动”分开看。后者可能涉及解释器、共享库、权限或服务隔离。针对这类故障,请查看 Squid 的助手启动消息。这两种症状都不是代理用户密码错误的证据。

来自无关旧服务器的助手,不会仅仅因为文件名和配置对得上就可以直接替换。

相关文章