Depuis quelque temps, j'utilise les solutions Varnish Cache et tant que la configuration était plus ou moins la même qu'après l'installation, tout s'est très bien passé.Vernis Vcl pour plusieurs connexions de ports entrants et sortants
Mais maintenant j'aime faire un peu plus avec Varnish. Actuellement, j'utilise la configuration suivante pour mes serveurs:
Visiteurs -> CloudFlare -> HaProxy -> Vernis (serveurs séparés) -> Contenu Apache2. Ce que je veux savoir, c'est comment je peux faire le bon script vcl pour accepter une requête entrante de l'ip A sur le port B et rediriger cela vers l'ip C sur le port D. (Et cela plus d'une fois.)
Exemple:
Default.Varnish fonctionne bien comme ceci:
DAEMON_OPTS="-a :8085,:8087 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,768m"
Mais maintenant sur le Varnish.Default:
backend default_1 { .host = "11.22.333.444"; .port = "8885"; }
backend default_2 { .host = "11.22.333.444"; .port = "8887"; }
Et j'ai essayé quelque chose comme ceci:
sub vcl_recv {
if (server.port == 8885) { set req.backend = default_1; }
if (server.port == 8887) { set req.backend = default_2; }
}
(S'il vous plaît être conscient du fait que les deux demandes vont au même serveur sortant. Seul le port est différent!)
Quelqu'un qui sait assez de Varnish sait déjà ce que je veux deviner. J'aime juste utiliser Varnish pour envoyer des 'canaux' distincts en fonction de différents ports.
Essayez paramètre 'req.backend_hint' au lieu de' req.backend'. – mwp