Apache + Passenger não está servindo a raiz do aplicativo Sinatra

5

Desde a última atualização do Fusion Passenger, todos os meus aplicativos Sinatra pararam de funcionar no seguinte env: Apache (2.4.17), Phusion Passenger (5.0.21). Tudo estava funcionando como esperado antes de atualizar o middleware de passageiros.

O problema é que o diretório apache está tentando prosseguir para uma listagem do diretório público quando eu estou solicitando o URL ( link ) do meu vhost.

A parte ODD: Se uma rota definida no controlador Sinatra for solicitada (por exemplo: link ), o passageiro é iniciado e a página solicitada é exibida como esperado.

Aqui está a parte do host virtual:

<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

Erro de log do Apache ao solicitar a raiz do aplicativo 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

O Apache está tentando fazer uma listagem de diretórios (que foi desativada pela configuração).

Alguém experimentou o mesmo problema? Como fazer o apache lançar o passager e serve a raiz do aplicativo Sinatra?

    
por Kami 26.10.2015 / 22:33

1 resposta

4

Aparentemente existe um bug no Apache 2.4.17.

Desativar o índice automático do módulo (que é a causa do comportamento errado, evitará o erro.

#LoadModule autoindex_module modules/mod_autoindex.so

A Phusion abordará o problema na versão real do Passenger 5.0.22 antes que o Apache 2.5.0 seja lançado.

    
por 27.10.2015 / 05:35