Tengo un problema al usar xsendfile con mi aplicación Rails 3.mod_xsendfile con enlaces simbólicos
Estoy usando capistrano para administrar implementaciones y en cada versión, hay un enlace simbólico al directorio compartido/de activos (p. Ej./Var/www/site/releases/1234/assets =>/var/www/site/shared/assets). El problema es que XSendFile no parece seguir los enlaces simbólicos. En mis registros de Apache, estoy viendo el siguiente error:
The given path was above the root path: xsendfile: unable to find file: /var/www/site/releases/20110406205607/assets/pdfs/2/original/test.pdf
yo he dado la configuración XSendFilePath como
XSendFilePath /var/www/site/shared/assets
Si cambio la configuración para:
XSendFilePath /var/www/site/releases
Entonces todo funciona bien. Entonces tengo un par de preguntas:
1) ¿Hay alguna manera de hacer que XSendFilePath siga el enlace simbólico?
2) ¿Existe un riesgo de seguridad al configurar XSendFilePath en mi directorio de releases? En otras palabras, ¿abro el acceso a todo ese directorio?
Gracias por la respuesta. Pasé de este proyecto, pero tu respuesta definitivamente tiene sentido. – bostonou
Esto no nos funcionó hasta que resolvimos el enlace simbólico utilizando 'Pathname # realdirpath'. –
No funciona para mí, incluso cuando uso 'Pathname # realdirpath' :( – wrzasa