city:varnish

  • Est-ce que quelqu’un par ici utilise Varnish avec SPIP3 ?

    Je n’irais vraiment pas jurer que c’est la faute à SPIP3, parce que j’ai lourdement modifié la logique de mon site (Flip-Zone) en même temps que je suis passé à SPIP3. Du coup, ça peut avoir d’autres causes.

    En tout cas, ce que je constate :
    – SPIP m’ajoute des :8080 dans tous les liens, parce qu’il l’identifie comme le port d’Apache ; sauf que je veux que mes visiteurs passent par le port :80 qui est Varnish. Tout ce que j’ai trouvé à faire, c’est d’ajouter ça dans mes_options :

    $_SERVER[’SERVER_PORT’] = « 80 » ;

    ça semble venir de l’URL absolue, utilisée pour <base href>, qui ajoute le server_port à la fin de l’URL (pourquoi ?) ;
    – plus bizarre : j’ai des erreurs de redirection sur les pages SPIP, qui apparaissent de manière aléatoire (mais très fréquemment) quand je passe par Varnish ; si je court-circuite Varnish, je n’ai pas ces erreurs de redirection.

    Je n’ai pas trouvé de solution :
    – pour limiter les dégâts, j’ai ajouté la détection des headers 301 et 302 pour dire à Varnish que, dans ce cas, je bypasse ; au moins ça évite que les erreurs de redirection soient stockées de manière permanentes (si je reclique sur le lien, ça faisait toujours la même erreur), mais j’ai quand même des erreurs de redirection (il faut que je fasse back et que je reclique sur le lien pour espérer tomber sur la bonne page). C’est assez rigolo de visiter son site avec des liens qui ne correspondent pas aux intitulés, mais pour le business c’est pas une situation d’avenir ;
    – seule solution pour l’instant, je bypasse Varnish sur les noms de domaines qui servent les pages HTML ; je ne conserve Varnish que sur les sous-noms de domaines sur lesquels je balance les fichiers statiques (images en particulier).

    Encore une fois : pas certain que ce soit SPIP3, parce que j’ai tout rebidouillé en même temps que le passage à SPIP3, mais bon, à tout hasard : est-ce que quelqu’un utilise SPIP3 derrière Varnish en production ?

    • tPour le problème avec SPIP3 et Varnish, vous pouvez essayer d’ajouter le code suivant dans votre fichier mes_options.php :

      $_SERVER['SERVER_PORT'] = '80';

      Cela devrait résoudre le problème de l’ajout par SPIP de « :8080 » aux liens.

      Concernant les erreurs de redirection aléatoires lors du passage par Varnish, vous avez fait un bon pas en contournant Varnish pour les redirections 301 et 302. Une autre option consiste à vérifier si SPIP génère des URL incorrectes ou s’il y a un conflit avec le cache Varnish.

      Votre approche actuelle consistant à contourner Varnish pour des noms de domaine spécifiques est une solution pratique pour garantir une expérience utilisateur plus fluide.

      Je recommande d’utiliser https://redirectchecker.com pour analyser et résoudre vos problèmes de redirection. Il peut aider à identifier toute mauvaise configuration et fournir des informations sur le processus de redirection.