Назад | Перейти на главную страницу

Какие должны быть права доступа к файлу, чтобы x-sendfile работал с apache

У меня есть приложение Ruby-on-Rails, которое я размещаю на Apache и Phusion-Passenger (на сервере Ubuntu). В этом приложении у меня есть метод контроллера, который в основном защищает доступ к некоторым файлам на основе текущего пользователя, вошедшего в систему, а затем передает их с помощью X-sendfile. Метод выглядит примерно так:

def show
     if File.exists @file_name
         sendfile @file_name, :xsendfile => true
     else
         render_404
     end
end

Он загадочным образом не работает на нашем промежуточном сервере, и я подозреваю, что это как-то связано с правами доступа к файлам, потому что каждый раз, когда я нажимаю на него, я получаю 404, но это не страница 404, которую я бы отобразил в результате моего render404 вызов; поэтому я подозреваю, что ошибка возникает после sendfile линия выполнена.

Может ли кто-нибудь пояснить мне, какие должны быть разрешения для файлов, чтобы apache мог что-то серверить через x-sendfile.

PS Я также должен указать, что я совершенно уверен, что мой модуль X-sendfile правильно настроен и работает, поэтому он не имеет к этому никакого отношения.

Как всегда, он должен быть доступен для чтения пользователю, от имени которого работает веб-сервер.