Vernis contourner un gros fichier
-
26-12-2019 - |
Question
J'ai Vernis installé avec le réglage par défaut sur mon serveur web Apache.Apache inscription sur le port 8080 et le Vernis de la liste à 80.
J'ai quelques fichiers téléchargeables sur le site avec la taille de 100 mo, 500 mo et 1 GO
Les 1 go ne fonctionne pas, lorsque vous cliquez sur, il va dire à la page indisponible ou connexion fermée par le serveur.Les deux autres fonctionnent très bien, mais je ne suis pas sûr si ce est la bonne façon de les télécharger.
Comment puis-je faire des vernis de s'affranchir de ces fichiers et de les obtenir directement à partir du serveur web?
Je vous remercie.
La solution
Cela pourrait être fait avec la vérification de l' Content-Length
dans le backend réponse, et si c'est plus gros que certains la taille, étiquette avec la marque et restart
demande de transaction
Exemple, des fichiers dont le Contenu de Longueur >=10,000,00 doit être envoyé:
sub vcl_fetch {
..
if ( beresp.http.Content-Length ~ "[0-9]{8,}" ) {
set req.http.x-pipe-mark = "1";
return(restart);
}
..
}
Puis nous sommes rentrés à la vérification de la réception de la demande et de l'analyse.Ici, nous pouvons vérifier notre marque et d'effectuer pipe
sub vcl_recv {
..
if (req.http.x-pipe-mark && req.restarts > 0) {
return(pipe);
}
..
}
Autres conseils
In varnish 4, vcl_fetch should be replaced with vcl_backend_response, see https://www.varnish-cache.org/docs/trunk/whats-new/upgrade-4.0.html