Squid basic_db_auth:连接远程 MySQL 数据库
通过 basic_db_auth 支持的 DSN 选项传入 MySQL 主机,同时保留 helper 现有的账户表配置。
在使用 basic_db_auth 的 Squid 部署中,数据库位置应写在 helper 的 DBI 数据源名称里。Squid 7 的 helper 源码提供了 --dsn 选项;MySQL 驱动接受 host 和 port 字段:
--dsn "DBI:mysql:database=squid;host=db.example.net;port=3306"
这是给现有 helper 调用使用的一段参数,而不是一条独立命令。请把它加到已经在启动已安装 helper 的 auth_param basic program 命令中。可执行文件的路径取决于 Squid 软件包。
还要留意 helper 的其他配置。它的 --user 和 --password 取值用于打开数据库连接。它的表、用户名列、密码列和密码格式选项描述存放在那里的代理账户记录。更改数据库 host 不会改变这套模式或密码格式。
helper 会把 DSN 和数据库凭据传给 DBI->connect。因此,相应的 Perl DBI 驱动必须能在 helper 的环境中获取,而且数据库必须接受来自代理主机的连接。
使用已提供的选项可以让数据库地址保留在部署配置中。无需替换 helper 的 Perl 源码中的默认 DSN 字面量。