Journal Fratrie de proxies

Posté par (page perso) .
Tags : aucun
11
22
fév.
2010
Nous avons deux petits proxies Squid, configurés en fratrie (sibling). Pour la configuration auprès des clients, nous utilisons WPAD. Classique.

Pour ce genre de choses, on finit toujours par écrire un petit script qui génère tout ça (en PHP dans ce cas) et fourni des options intéressantes. C'est souvent des petits scripts "sur le coin du bureau", où tout est codé en dur et moyennement documenté ... bref pas du développement planifié.

Bien entendu pour générer ce fichier WPAD, j'ai fait un petit script (une bonne année en arrière) qui gère deux ou trois trucs :

- Balance de charge. Simple : chaque fois que le script est exécuté, le premier proxy de la liste est différent, un simple round-robin.
- Contrôle du fonctionnement des proxies. Si le proxy est dans le fichier WPAD, cela veut dire qu'il a été testé (et a répondu présent). Si aucun proxy n'est disponible, tout est envoyé en directe.
- Une sorte de "failover", tous les proxies disponibles sont listé dans le fichier WPAD.

Bref rien d'extraordinaire, il s'agit d'un petit truc sans prétention. Mais bon j'ai dû replonger dedans. Et comme je me suis promis, dorénavant, d'essayer de diffuser ce genre de petits scripts, j'ai pris le temps de le faire plus propre, de lui donner un fichier de configuration et de le mettre sur un svn publique.
J'ai même poussé le luxe plus loin : j'ai fait une archive signée du script et son fichier de configuration.

Tout ça est disponible là : http://www.tchetch.net/wiki/projects/wpad-php

Voilà, c'est un peu ma bonne résolution 2010 : nettoyer mes petits scripts de tous les jours et les distribuer (et aussi diminuer ma consommation de sucre dans le café, ce qui est un succès pour l'instant) ... pourvu que ça dure !
  • # Sucre dans le café

    Posté par . Évalué à 3.

    C'est pas bon le sucre dans le café !
    • [^] # Re: Sucre dans le café

      Posté par . Évalué à 1.

      C'est pas bon le café dans le sucre!
    • [^] # Re: Sucre dans le café

      Posté par . Évalué à 1.

      Ben oui, car comme le disent les sages "I like my sugar with cofee and cream"
    • [^] # Re: Sucre dans le café

      Posté par . Évalué à -2.

      Au goût, si !

      Du café sans sucre, pouah !

      Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

      • [^] # Re: Sucre dans le café

        Posté par (page perso) . Évalué à 4.

        Du café sans sucre ça a le goût du café en fait. Et si tu as du bon café (parce que là on a du café moulu à mesure et on prend du café d'excellente qualité), c'est meilleure sans sucre.

        "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

  • # Les problèmes du wpad

    Posté par . Évalué à 1.

    1. il faut qu'il soit disponible pour le navigateur. Hier j'ai migrer mon serveur http interne, plus personne n'arrivait à surfer car ils n'arrivaient pas à récupérer le wpad (faut dire que j'ai fait ma migration au petit matin, et que certains qui ne sont pas partis en vacances ont trouvé bon de lancer leur navigateur à ce moment).
    En fait je me dis que ça aurait été pas mal que Squid embarque un micro-httpd afin de servir ce fichier.

    2. Une fois que le navigateur à chargé le wpad, j'ai l'impression qu'il ne le parse qu'une seule fois. Par exemple, tu mets dans la réponse deux proxys, si le premier ne marche plus, il va voir le second. Je pense qu'il n'ira plus voir le premier sauf à re-interprété le wpad. Ce qui fait que ton deuxième truc (contrôle du fonctionnement) fonctionne au lancement du navigateur, mais si ton proxy tombe 5 minutes plus tard, le navigateur est mal.

    Enfin bon, je peux me tromper.
    • [^] # Re: Les problèmes du wpad

      Posté par (page perso) . Évalué à 2.

      Le WPAD est du javascript et est interprété par le navigateur. Mais bon il faut dire que j'ai l'impression que c'est pas très uniforme la manière de gérer ce WPAD.
      Lors d'un problème, le WPAD n'était plus disponible. IE perdait 7s avant chaque page à "attendre", Firefox ne faisait rien de spécial (je supposes qu'il le charche au démarrage).
      Ensuite j'aimerais bien que les navigateurs honneur le "Expire" de l'en-tête HTTP.

      "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

  • # Bravo

    Posté par (page perso) . Évalué à 2.

    Je tiens à te féliciter pour cette bonne résolution que je prends régulièrement.
    Ça prend du temps sur le coup, mais c'est très bénéfique pour :
    - les autres
    - ton expérience et l'analyse de problème et de ta solution (des fois, on fait des trucs sans bien comprendre, mais la magie fait que ça marche :-/ )
    - plus tard, quand tu veux toi-même réutiliser ton script
    - ton employeur, pour qui il est possible de capitaliser la connaissance de ses employés

    :-)
    • [^] # Re: Bravo

      Posté par (page perso) . Évalué à 2.

      Oui, ça prend du temps, j'ai passé bien un bon jour à rendre ça présentable. Mais c'est vrai que c'est très intéressant de le faire, on corrige plein de petits trucs qu'on aurait jamais corrigé auparavant.
      Et ça va bien, je m'attaque a un vieux script perl qui synchronise le "dhcpd.lease" avec un annuaire LDAP (en utilisant inotify pour regarder les modifications faites au fichier). Peut-être trouverais-je pourquoi il s'arrête de fonctionner de temps en temps :-)

      "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.