Comme le Documentation sur Squid dit, la directive de configuration reply_body_max_size fait en sorte que Squid cesse la transmission lorsque le corps de la réponse HTTP dépasse la taille spécifiée. Ceci est vérifié par Squid de deux façons : en utilisant l'en-tête HTTP Content-Length :, s'il est présent - dans ce cas, la réponse ne sera pas autorisée et un TCP_DENIED_REPLY sera écrit dans le journal. Ou, si l'en-tête HTTP Content-Length : n'est pas présent, alors la réponse sera autorisée, mais la connexion sera fermée lorsque reply_body_max_size sera atteint.
Dans le second scénario, il pourrait y avoir un effet d'entraînement potentiellement important pour tout cache en aval de vous. Si la transmission HTTP a été lancée sans en-tête HTTP Content-length : et que votre copie de Squid a ensuite interrompu la connexion lorsque la taille limite de la réponse a été atteinte, le cache en aval ne saura pas que la connexion a été interrompue avant l'envoi du corps de réponse complet. Cela pourrait entraîner le stockage d'une copie incomplète de l'objet dans le cache en aval. Cependant, d'après votre description, je ne pense pas que ce soit le cas ici, puisque vous parlez d'un proxy en amont géré par votre FAI.
À ce propos, je ne vois pas comment un proxy en amont pourrait affecter votre capacité à imposer une limite à la taille du corps de la réponse.
Une remarque sur la syntaxe de votre configuration. Vous avez spécifié :
reply_body_max_size 10 MB
Alors que je pense que ça devrait l'être :
reply_body_max_size 10 MB all
Notez le nom ACL "all" à la fin. La documentation de Squid place la liste des ACL entre crochets, ce qui tend à indiquer que ce paramètre est optionnel, et dans mes tests, j'ai trouvé que c'était le cas. Cependant, il existe une variation de cette syntaxe à certains endroits sur le net (et dans ce fil de discussion ci-dessus), où parfois le mot "allow" ou "deny" est également placé dans la ligne de configuration. Selon la documentation de Squid, et mes tests, ceci est incorrect. La syntaxe ci-dessus a été testée correctement pour moi.
Nb. tests effectués avec Squid 3.1.23 et Squid 3.5.0.2.
0 votes
Où se trouve votre proxy par rapport au client, au modem et à l'Internet ? Je pense que le modem est en fait en amont et ne serait pas affecté par le problème mentionné dans la documentation.
0 votes
Il est en amont. J'ai implémenté ce que proy a suggéré ci-dessous mais je n'ai pas encore testé. Plus à venir...