Solde de chargement Varnish Avec des demandes de réécriture au serveur
J'essaie d'équilibrer la charge d'une application Web tiers avec Varnish, et pour cette application tierce requise `` le présent '' Nom du serveur (Il semble que cela se connecte à ce serveur par nom en arrière-plan. (et localhost ne marche pas) :() Pour la transmission dans la chaîne de requête. J'ai également besoin d'un travail de refus, ce qui signifie que je voudrais utiliser les administrateurs afin que ma configuration soit simple et évolutive.
Voici un exemple simple de ce que je
Aimer
Fabriquer:
mais backend.name Disponible en beresp Seulement après avoir déjà fait une demande. Il paraît que Varnish ne décide pas quel backend à utiliser tout en
après
vcl_pass Se termine, et il n'y a pas d'autre crochet avant que la demande ne soit envoyée à Bekend.
C'est juste? Si oui, alors y a-t-il une autre solution (En plus des correctifs sur un serveur Web que je ne contrôle pas)? Sans cycles, même si je mettant en œuvre le remplacement du directeur du client dans VCL, Il ne sera pas en mesure d'échouer sur les fichiers des serveurs.
Voici un exemple simple de ce que je
Aimer
Fabriquer:
sub vcl_pass {
set bereq.http.X-Varnish-Backend = bereq.backend.name
}
mais backend.name Disponible en beresp Seulement après avoir déjà fait une demande. Il paraît que Varnish ne décide pas quel backend à utiliser tout en
après
vcl_pass Se termine, et il n'y a pas d'autre crochet avant que la demande ne soit envoyée à Bekend.
C'est juste? Si oui, alors y a-t-il une autre solution (En plus des correctifs sur un serveur Web que je ne contrôle pas)? Sans cycles, même si je mettant en œuvre le remplacement du directeur du client dans VCL, Il ne sera pas en mesure d'échouer sur les fichiers des serveurs.
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
1 réponses
Hannah
Confirmation de:
Exemple A) Divers noms des hôtes
Préparer tous les retours nécessaires. Cela peut être un serveur ou plusieurs serveurs à l'aide du réalisateur:
Définissez le bon serveur pour les demandes entrantes. (dans Varnish: req). J'ai défini une valeur supplémentaire req.http.backend, Pour l'utiliser à une étape ultérieure. Ici, vous pouvez remplacer ou annuler tout en-tête de demande de client HTTP:
Apporter des modifications à la réponse du serveur retourné (dans Varnish: beresp). Si vous avez un autre nom d'hôte pour l'application, vous pouvez modifier les redirections. Je supprime habituellement certains en-têtes x ou remplaçant les titres de mise en cache back-end ici:
Exemple B.) différent URL
DANS Varnish La différence réside dans la méthode vcl_recv. Veillez à ce que votre application puisse fonctionner avec le chemin "/ example1". D'autres décisions sont possibles, mais je ne recommanderais pas ceci:
Vous pouvez mettre en œuvre A ou B Ou fusionner A et B. (Plus ou moins) Tout est possible Varnish.