Projet

Général

Profil

Proposition Scénario #8123

Mis à jour par Daniel Dehennin il y a plus de 6 ans

h3. Problème

Lorsqu’un utilisateur ajoute un domaine à une liste de squid qui se trouve être un domaine parent d’une entrée déclarée précédemment, squid considère que c’est une erreur.

h3. Pour tester

<pre>
# Se connecter au conteneur proxy
# Ajouter l’entrée *@.canonical.com@* au fichier *@/etc/squid/domaines_noauth_user@*
root@internet:~# echo '.canonical.com' > /etc/squid/domaines_noauth_user
# Vérifier la sortie de la commande *@squid -k parse@*
root@internet:~# squid -k parse && echo -e "\nOK\n" || echo -e "\nNOK\n"
[...]
2017/09/04 10:52:27| Processing: acl noauth dstdomain "/etc/squid/domaines_noauth_user"
2017/09/04 10:52:27| ERROR: '.archive.canonical.com' is a subdomain of '.canonical.com'
2017/09/04 10:52:27| ERROR: You need to remove '.archive.canonical.com' from the ACL named 'noauth'
FATAL: Bungled /etc/squid/common-squid1.conf line 13: acl noauth dstdomain "/etc/squid/domaines_noauth_user"
[...]

NOK
</pre>

Il faut noter qu’ajouter un sous-domaine d’un domaine parent prédéclaré ne pose pas de problème :

<pre>
# Se connecter au conteneur proxy
# Vérifier que *@.ubuntu.com@* est bien présent dans *@/etc/squid/domaines_noauth@*
root@internet:~# grep '^\.ubuntu\.com' /etc/squid/domaines_noauth
.ubuntu.com
# Ajouter l’entrée *@.archive.ubuntu.com@* au fichier *@/etc/squid/domaines_noauth_user@*
root@internet:~# echo '.archive.ubuntu.com' > /etc/squid/domaines_noauth_user
# Vérifier la sortie de la commande *@squid -k parse@*
root@internet:~# squid -k parse && echo -e "\nOK\n" || echo -e "\nNOK\n"
[...]

OK
</pre>

h3. Solution

Valider la configuration lors de chaque ajout d’une entrée dans l’interface project:ead avant de demander à squid de la prendre en compte :

# L’utilisateur saisie un domaine à ajouter
# project:ead ajoute l’entrée à la configuration Squid
# project:ead exécute la commande *@squid -k parse@* dans le conteneur proxy et vérifie la sortie, *@0@* en cas de succès, *@1@* en cas d’erreur
# En cas d’erreur
## La dernière entrée est supprimée du fichier de configuration
## project:ead analyse la sortie d’erreur de la commande *@squid -k parse@* afin d’extraire l’information pretinente (préfixe *@<DATE>| ERROR:@*) et l’affiche à l’utilisateur

h3. Demande initiale

<pre>
May 5 17:21:51 pf-amon squid3: Bungled common-squid1.conf line 13: acl noauth dstdomain "/etc/squid3/domaines_noauth"
May 5 17:23:44 pf-amon squid3: Bungled common-squid1.conf line 16: acl nocache dstdomain "/etc/squid3/domaines_nocache"
</pre>

en commentant les lignes 13 16 de common-squid1.conf c'est ok

Retour