Je rencontre un problème en utilisant xsendfile avec mon application Rails 3.
J'utilise capistrano pour gérer les déploiements et dans chaque version, il existe un lien symbolique vers le répertoire shared/assets (par exemple, /var/www/site/releases/1234/assets => /var/www/site/shared/assets). Le problème est que XSendFile ne semble pas suivre les liens symboliques. Dans les journaux d'Apache, je vois l'erreur suivante :
The given path was above the root path: xsendfile: unable to find file: /var/www/site/releases/20110406205607/assets/pdfs/2/original/test.pdf
La configuration de XSendFilePath est la suivante
XSendFilePath /var/www/site/shared/assets
Si je change la configuration en :
XSendFilePath /var/www/site/releases
Ensuite, tout fonctionne bien. J'ai donc quelques questions :
1) Existe-t-il un moyen de faire en sorte que le XSendFilePath suive le lien symbolique ?
2) Y a-t-il un risque de sécurité à définir le XSendFilePath sur le répertoire de mes releases ? En d'autres termes, est-ce que j'ouvre l'accès à l'ensemble de ce répertoire ?