Squid basic_db_auth : se connecter à une base MySQL distante
Transmettez l'hôte MySQL via l'option DSN prise en charge par basic_db_auth tout en conservant la configuration existante de la table des comptes du helper.
Dans les déploiements Squid qui utilisent basic_db_auth, l'emplacement de la base de données se place dans le nom de source de données DBI du helper. Le code source du helper de Squid 7 expose une option --dsn ; le pilote MySQL accepte les champs d'hôte et de port :
--dsn "DBI:mysql:database=squid;host=db.example.net;port=3306"
Il s'agit d'un fragment d'arguments pour l'appel existant du helper, et non d'une commande autonome. Ajoutez-le à la commande auth_param basic program qui lance déjà le helper installé. Le chemin de l'exécutable dépend du paquet Squid.
Gardez à l'esprit le reste de la configuration du helper. Ses valeurs --user et --password ouvrent la connexion à la base de données. Ses options de table, de colonne de nom d'utilisateur, de colonne de mot de passe et de format de mot de passe décrivent les enregistrements de comptes proxy qui y sont stockés. Changer l'hôte de la base de données ne modifie ni ce schéma ni le format du mot de passe.
Le helper transmet le DSN et les identifiants de la base de données à DBI->connect. Le pilote Perl DBI correspondant doit donc être disponible dans l'environnement du helper, et la base de données doit accepter la connexion depuis l'hôte du proxy.
Utiliser l'option exposée maintient l'adresse de la base de données dans la configuration de déploiement. Il n'est pas nécessaire de remplacer le littéral DSN par défaut dans le code source Perl du helper.