From 8b7da00b3bb1bb9a8be20c1a7a588913e4048a35 Mon Sep 17 00:00:00 2001 From: lpoujol Date: Mon, 9 Jul 2018 14:42:24 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20cas=20pratique=20-=20Fail-over=20d?= =?UTF-8?q?=E2=80=99un=20backend=20principal=20pour=20proxy=5Fpass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoNginx.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/HowtoNginx.md b/HowtoNginx.md index f5719d18..b1ffcc0a 100644 --- a/HowtoNginx.md +++ b/HowtoNginx.md @@ -571,6 +571,33 @@ listen 0.0.0.0:443 ssl http2; ~~~ +## Cas pratiques + +### Fail-over d'un backend principal pour proxy_pass + +Dans certains cas, on peut utiliser *Nginx* pour faire la décharge SSL/TLS avant d'envoyer les requêtes vers un Varnish avec proxy_pass. + +Pour ne pas perturber le site lors d'un redémarrage ou rechargement de Varnish, on peut par exemple configurer *Nginx* pour renvoyer directement les requêtes vers le service caché par Varnish si le service de cache n'est pas disponible. + +Il suffit d'utiliser le mot clé `backup` dans la définition du serveur dans l'objet `upstream` : + +~~~ +upstream varnish_or_direct_backend { + server 127.0.0.1:8080; # Varnish + server 192.0.2.2:8081 backup; # Service caché par Varnish +} + +[...] + +location / { + proxy_pass http://varnish_or_direct_backend; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} +~~~ + + ## FAQ ### Configuration en ligne