Конфигурация Capistrano и XSendFile

Я пытаюсь настроить рабочий сервер Rails с Apache 2.2, Passenger 4.0.59 и XSendFile 0.12. Приложение разворачивается через Capistrano.

Развернутое приложение создает (возможно, большой) PDF для#{Rails.root}/tmp и обслуживает этот файл, используяsend_file.

Проблема в том, что Capistrano использует символические ссылки, чтобы указать на развернутую версию приложения. С другой стороны, XSendFile разыменовывает символические ссылки и отказывается обслуживать файл, если его реальное местоположение находится вне корневого каталога документа, даже если это разрешеноXSendFilePath, Apache error.log гласит:

(20023)The given path was above the root path: xsendfile: unable to find file: /resolved/path/to/file.pdf

Все хорошо работает когда я ставлюPassengerAppRoot а такжеXSendFilePath к реальному местоположению текущей версии приложения, без символических ссылок на пути. Но это нормально до следующего развертывания, которое требует перенастройки apache. Не очень полезно

Как настроить параметры развертывания Capistrano и параметры XSendFile, чтобы он работал вместе?

Я пробовал решения сln -nFs описано вCapistrano & X-Sendfile И вmod_xsendfile с символическими ссылками но никто не работает.

Ответы на вопрос(1)

Ваш ответ на вопрос