basic_db_auth を使う Squid の配備では、データベースの場所は helper の DBI データソース名に含めます。Squid 7 の helper のソースには --dsn オプションがあり、MySQL ドライバーはホストとポートのフィールドを受け付けます。

--dsn "DBI:mysql:database=squid;host=db.example.net;port=3306"

これは既存の helper 呼び出しに対する引数の断片であり、単独のコマンドではありません。インストール済みの helper を起動している auth_param basic program コマンドに追加してください。実行ファイルのパスは Squid パッケージによって異なります。

helper の他の設定も確認しておきます。--user と --password の値がデータベース接続を開きます。テーブル、ユーザー名カラム、パスワードカラム、パスワード形式の各オプションは、そこに保存されるプロキシーアカウントのレコードを定義します。データベースのホストを変えても、このスキーマやパスワード形式は変わりません。

helper は DSN とデータベースの資格情報を DBI->connect に渡します。したがって、対応する Perl DBI ドライバーが helper の環境で利用でき、データベースがプロキシーホストからの接続を受け入れる必要があります。

公開されたオプションを使えば、データベースのアドレスを配備設定の中に置いたままにできます。helper の Perl ソース内の既定の DSN リテラルを置き換える必要はありません。

関連記事