Squid basic_db_auth: リモート MySQL データベースへの接続
basic_db_auth が対応する DSN オプションで MySQL のホストを渡し、helper の既存のアカウントテーブル設定はそのまま保ちます。
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 リテラルを置き換える必要はありません。