• # Ordre des vhosts dans apache et varnish

    Posté par (site web personnel) . En réponse au message [Auto-hébergement] Apache2 VirtualHosts par noms fonctionnement aléatoirement. Évalué à 3.

    On a eu des problèmes similaires. Apache avait l'air d'envoyer des requêtes vers des vhosts aléatoirement.
    En fait, c'était du au fait que le 1er vhost lu est défini comme vhost par défaut, on utilise un fichier par vhost et le nom du servername est utilisé comme nom de fichier. Donc maintenant, ce qu'on fait, c'est de renommer le default.conf en 000-default.conf et les autres en 001-aaaa-domaine-qui-commence-par-un-a.conf, 001-www.*.conf et ainsi de suite.
    Le default ne sert qu'à afficher une page d'erreur disant que le vhost n'est pas défini.

    On a également un autre bug mais c'était du à des règles varnish. On gérait example.net et et www.example.net, même si c'était le même nom de domaine, c'était 2 sites totalement diffèrent. Dans apache, la requête tombait sur le bon vhost, le problème n'était pas là. Mais dans varnish, nous avions ce style de règles:

    sub vcl_recv {
    if (req.http.X-Forwarded-Host ~ "www.example.net") {
    set req.backend = wwwexamplenet;
    }
    }
    et

    sub vcl_recv {
    if (req.http.X-Forwarded-Host ~ "example.net") {
    set req.backend = examplenet;
    }
    }
    Et donc parfois, on tombait sur le mauvais backend. C'était juste un problème de regexp.
    Il a suffit de mieux fixer la regexp en forçant le match de début de string: eq.http.X-Forwarded-Host ~ "www.example.net"

    Je ne dis pas que c'est la même chose que ton problème mais ce sont des pistes :o