В развёртываниях 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 не нужно.

Похожие статьи