Utilisation de X-Accel-Redirect
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Documentation Ubuntu-fr |
Fix Released
|
High
|
YoBoY |
Bug Description
Actuellement, les images sont traitées de la manière suivante :
- Appel du client
- Traitement par nginx
- Appel du script PHP de Doku
- Le script retourne l'image
Ce mode de fonctionnement a pour principal défaut de forcer nginx à stocker le contenu du fichier (image ou autre) dans un fichier, et accessoirement ça pourrit les logs avec des lignes du genre :
2011/03/30 10:17:09 [warn] 21443#0: *102209 an upstream response is buffered to a temporary file /var/lib/
J'ai découvert avec étonnement que Dokuwiki supporte cette fameuse "extension" appelée X-Sendfile à la base qui permettrait à nginx de retourner directement l'image spécifiée par le script PHP invoqué, et il n'aurait besoin que du chemin vers l'image ou le fichier à retourner.
- Appel du client
- Traitement par nginx
- Appel du script PHP de Doku
- Le script retourne le chemin vers l'image
- Nginx intercepte l'entête
- Nginx retourne l'image
(plus de buffering sur disque, et moins de process PHP occupés).
Doc (plus que succinte) de Doku à ce sujet : http://
Il semblerait que l'implémentation qui en est faite soit un peu bancale, car le contenu de l'entete X-Accel-Redirect est en fait le chemin complet vers l'image (au niveau FS).
Une redirection internal est necessaire pour que Nginx sache comment traiter ce chemin (tout est expliqué ici : http://
Related branches
- Ubuntu-fr-webteam: Pending requested
-
Diff: 10 lines (+3/-0)1 file modifiedconf/local.protected.php.dist (+3/-0)
Changed in ubuntu-fr-doc: | |
assignee: | nobody → Herve Rousseau (herve-rousseau) |
importance: | Undecided → High |
Changed in ubuntu-fr-doc: | |
status: | Triaged → Fix Committed |
Changed in ubuntu-fr-doc: | |
status: | Fix Committed → Fix Released |
En fait c'est plus de la configuration serveur, je rajoute ça dans le local.protected .dist en commenté pour mémoire.