8

Rails 3 アプリで xsendfile を使用すると問題が発生します。

カピストラーノを使用して展開を管理しています。各リリースには、shared/assets ディレクトリへのシンボリック リンクがあります (例: /var/www/site/releases/1234/assets => /var/www/site/shared/assets)。 )。問題は、XSendFile がシンボリック リンクをたどっていないように見えることです。Apache ログに、次のエラーが表示されます。

The given path was above the root path: xsendfile: unable to find file: /var/www/site/releases/20110406205607/assets/pdfs/2/original/test.pdf

私は XSendFilePath 設定を次のように設定しています

XSendFilePath /var/www/site/shared/assets

構成を次のように切り替えると:

XSendFilePath /var/www/site/releases

その後、すべてが正常に機能します。だから私はいくつかの質問があります:

1) XSendFilePath にシンボリック リンクをたどらせる方法はありますか?

2) XSendFilePath をリリース ディレクトリに設定すると、セキュリティ上のリスクはありますか? つまり、そのすべてのディレクトリへのアクセスを許可しますか?

4

1 に答える 1