У розгортаннях Squid, які використовують basic_db_auth, розташування бази даних зазначається в імені джерела даних DBI helper. Вихідний код helper у Squid 7 надає опцію --dsn; драйвер MySQL приймає поля хоста й порту:

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

Це фрагмент аргументів для наявного виклику helper, а не самостійна команда. Додайте його до команди auth_param basic program, яка вже запускає встановлений helper. Шлях до виконуваного файлу залежить від пакета Squid.

Зважайте й на решту конфігурації helper. Його значення --user і --password відкривають з'єднання з базою даних. Опції таблиці, стовпця імені користувача, стовпця пароля й формату пароля описують записи облікових записів проксі, що зберігаються там. Зміна хоста бази даних не змінює цю схему чи формат пароля.

Helper передає DSN і облікові дані бази даних у DBI->connect. Тому відповідний драйвер Perl DBI має бути доступним у середовищі helper, а база даних має приймати з'єднання з хоста проксі.

Використання наданої опції залишає адресу бази даних у конфігурації розгортання. Замінювати літерал DSN за замовчуванням у вихідному коді helper на Perl не потрібно.

Схожі статті