С момента последнего обновления 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.