Ajout de doc

This commit is contained in:
Gregory Colpart 2017-05-18 01:03:11 +02:00
parent 84dff9c12c
commit 6ab8a59620

View file

@ -735,12 +735,43 @@ Un reload ne suffit parfois pas, un restart sera nécessaire dans certains cas.
### Temps d'attente du client HTTP ?
Quand un client HTTP interroge Varnish, il va le mettre en attente afin d'interroger le serveur HTTP final (si l'objet n'est pas caché). Pendant que le serveur HTTP final renvoie l'objet demandé à Varnish, le client HTTP est toujours mis en attente, le contenu lui sera renvoyé seulement une fois l'objet reçu à 100% par Varnish. Cela peut poser différents problèmes : dans le cas d'une grosse vidéo le démarrage sera lent, si le timeout du client HTTP est bas il peut fermer la connexion trop tôt, etc. Pour contourner ce problème, on peut utiliser le return *(pipe)*.
Quand un client HTTP interroge Varnish, il va le mettre en attente afin d'interroger le serveur HTTP final (si l'objet n'est pas caché). Pendant que le serveur HTTP final renvoie l'objet demandé à Varnish, le client HTTP est toujours mis en attente, le contenu lui sera renvoyé seulement une fois l'objet reçu à 100% par Varnish. Cela peut poser différents problèmes : dans le cas d'une grosse vidéo le démarrage sera lent, si le timeout du client HTTP est bas il peut fermer la connexion trop tôt, etc. Pour contourner ce problème, on peut utiliser le return *(pipe)* :
~~~
if (req.url ~ ".mp4") {
return (pipe);
}
~~~
### À savoir
Avant Debian 8, Varnish ne supportait pas dêtre lancé avec umask 077, cest corrigé en Debian Jessie
Avant Debian 8, Varnish ne supportait pas dêtre lancé avec umask 077, cest corrigé en Debian Jessie.
Il faut donc impérativement faire :
~~~
# echo "umask 022" >> /etc/default/varnish
~~~
### Debian 7
Sous Debian 7 (Wheezy), Varnish 3 a pas mal de différences :
* il faut forcer l'umask à 022 (voir ci-dessus)
* la sous-routine *vcl_backend_response* était appelée *vcl_fetch*
* pour avoir un entête HTTP X-Cache avec HIT ou MISS, il faut modifier la sous-routine *vcl_deliver* ainsi :
~~~
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
set resp.http.X-Cache-Hits = obj.hits;
}
else {
set resp.http.X-Cache = "MISS";
}
return (deliver);
}
~~~