Apache+Passenger 不为 Sinatra 应用程序的根提供服务

Kam*_*ami 5 ruby phusion-passenger sinatra apache-2.4

自上次 Fusion Passenger 更新以来,我所有的 Sinatra 应用程序都停止在以下环境中工作:Apache (2.4.17)、Phusion Passenger (5.0.21)。在更新乘客中间件之前,一切都按预期工作。

问题是,当我请求我的 vhost的 url ( https://myapp.ch )时,apache 目录正试图进入公共目录的列表。

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>
Run Code Online (Sandbox Code Playgroud)

配置文件

# encoding: UTF-8

require 'rubygems'
require 'sinatra'

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

run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)

请求 Sinatra 应用 (/) 的根目录时出现 Apache 日志错误:

[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
Run Code Online (Sandbox Code Playgroud)

Apache 正在尝试进行目录列表(已被配置禁用)。

有人遇到过同样的问题吗?如何制作apache启动通道并为Sinatra应用程序的根提供服务?

Kam*_*ami 7

显然Apache 2.4.17 中存在一个错误

禁用模块自动索引(这是错误行为的原因,将防止错误。

#LoadModule autoindex_module modules/mod_autoindex.so
Run Code Online (Sandbox Code Playgroud)

Phusion 将在 Apache 2.5.0 发布之前,在Passenger 5.0.22 的realase 中解决这个问题。