自上次更新 Fusion Passenger 以来,我的所有 Sinatra 应用程序都已停止在以下环境中工作:Apache (2.4.17)、Phusion Passenger (5.0.21)。在更新 Passenger 中间件之前,一切都按预期运行。
问题是,当我请求 url 时,apache 目录正在尝试继续列出公共目录(https://myapp.ch)的我的虚拟主机。
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
请求 Sinatra App 的根目录 (/) 时出现 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
Apache 正在尝试执行目录列表(已被配置禁用)。
有人遇到过同样的问题吗?如何让 apache 启动 passager 并为 Sinatra 应用程序的根提供服务?