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

Apache + Passenger не обслуживает корень приложения Sinatra

С момента последнего обновления Fusion Passenger все мои приложения Sinatra перестали работать в следующем окружении: Apache (2.4.17), Phusion Passenger (5.0.21). До обновления промежуточного программного обеспечения для пассажиров все работало, как ожидалось.

Проблема в том, что каталог apache пытается перейти к списку общедоступного каталога, когда я запрашиваю URL-адрес (https://myapp.ch) моего vhost.

Часть ODD: если запрашивается маршрут, определенный в контроллере Sinatra (например: https://myapp.ch/infos), пассажир запускается, и запрошенная страница обслуживается должным образом.

Вот часть виртуального хоста:

<VirtualHost *:443>
  DocumentRoot /home/user1/sinatra/app1/public
  ServerName myapp.ch

  <Directory /home/user1/sinatra/app1/public>
      AllowOverride all
      Order allow,deny
      Allow from all
      Options -MultiViews
      Require all granted
  </Directory>

Config.ru

# encoding: UTF-8

require 'rubygems'
require 'sinatra'

require File.expand_path '../start.rb', __FILE__

run Sinatra::Application

Ошибка журнала Apache при запросе корня приложения Sinatra (/):

[Mon Oct 26 22:10:30.728795 2015] [autoindex:error] [pid 3535:tid 140103510914816] [client 176.127.182.162:50956] AH01276: Cannot serve directory /home/user1/sinatra/app1/public/: No matching DirectoryIndex (none) found, and server-generated directory index forbidden by Options directive

Apache пытается сделать список каталогов (который был отключен конфигурацией).

Есть ли у кого-нибудь такая же проблема? Как сделать так, чтобы apache запускал passager и обслуживал корень приложения Sinatra?

По-видимому Eсть ошибка в Apache 2.4.17.

Отключение автоиндекса модуля (которое является причиной неправильного поведения, предотвратит ошибку.

#LoadModule autoindex_module modules/mod_autoindex.so

Phusion решит проблему в версии Passenger 5.0.22 до того, как будет выпущен Apache 2.5.0.