2013-08-07 2 views
7

Я уже установил необходимые инструменты и следил за несколькими учебниками, которые пытались ответить пассажиру.Я получаю ошибку 403, используя пассажира для рельсов в apache

Я могу получить доступ к статическим файлам в общей папке (public/500.html или 422.hml). Вчера я вошел через призму и обнаружил некоторые пассажирские ошибки. Но через некоторое время хостинг перезапустил службу, и с тех пор мне еще не удалось получить доступ к приложению rails.

link

link

link

Вот некоторые из ссылок, которые я использовал для настройки сервера. Я также прочитал, что это может быть проблема с разрешением; Я проверил это, но я не уверен, что все в порядке.

+0

403 запрещено ошибка разрешение вопроса. Проверьте корень документа и убедитесь, что index.php имеет разрешение 644. Также убедитесь, что index.php владеет правами пользователя, как и 500.html, доступ к которому возможен. –

+0

Это приложение Rails, работающее через apache + пассажир. Я могу получить доступ к локальным файлам, например изображениям. Но когда рельсы должны отвечать, дает мне эту ошибку. – narc88

ответ

1

Ответ был, что пассажир дал мне 403, потому что я должен был установить переменную окружения «RackEnv» на апача конфигурации «развитие» (в моем случае).

15

Прежде всего, проверьте свой журнал ошибок. По умолчанию он размещен по адресу /var/log/apache2/.

Если у вас есть вопрос client denied by server configuration, проверьте свой файл conf вашего сайта на /etc/apache2/sites-available/your-site.conf. Он должен соответствовать Phusion Passenger User Guide. Посмотрите на Require all granted.

<Directory "/home/user/folder"> 
    Require all granted 
    Options FollowSymLinks 
    # This relaxes Apache security settings. 
    AllowOverride None 
    # MultiViews must be turned off. 
    Order allow,deny 
    Allow from all 
</Directory> 
+4

Спасибо! «Требовать все предоставленные» заставляло его работать – macool

+1

Кажется, что 'Требовать все предоставленные' * необходимо *, если вы используете Apache> = 2.4 – rogerdpack

2

У меня также была ошибка 403 с использованием пассажира для рельсов в apache на моей Mac OS 10.9 (Unix-подобная система). Вот несколько советов:

  1. Вы можете проверить каталог журнала Apache и посмотреть, что произошло. Справочник: /var/log/apache2/error_log.
  2. Редакция: Разрешение отклонено: доступ к/запрещен (путь к файловой системе «path_apache_access»), поскольку разрешения поиска отсутствуют на компоненте пути.

    Проверьте 'path_apache_access' от CLI: ls -ld 'path_apache_access' и используйте chmod + x, чтобы изменить привилегию пути.

    Также обратите внимание: Httpd Wiki - (13) Permission Denied-.

  3. Ошибка: Ошибка конфигурации: не удалось выполнить аутентификацию. AuthType не установлен!.

    Ошибка: Клиент отказался от конфигурации сервера.

    Перейдите в /etc/apache2/httpd.conf и посмотрите на < Каталог > тег.

    Проверьте версию Apache по CLI: apachectl -v, если Apache < 2.4, НЕ раскомментируйте «Требовать все предоставленные».

    <Directory "rails_app_directory/public"> 
         # This relaxes Apache security settings. 
         AllowOverride all 
         # MultiViews must be turned off. 
         Options -MultiViews 
         # Uncomment this if you're on Apache >= 2.4: 
         # Require all granted 
         Options FollowSymLinks 
         Order allow,deny 
         Allow from all 
    </Directory> 
    
4

ОК для меня это означало, что я бегала рельсы 2.3 и используя Phusion Пассажирское 5.x

Видимо 5.x не работает с 2.2 на всех, и требует 2.3 для вас скопируйте файл config.ru, чтобы он использовал стойку для бэкэнд.

пример config.ru файл для 2.3:

# Rack Dispatcher 

# Require your environment file to bootstrap Rails 
require File.dirname(__FILE__) + '/config/environment' 

# Dispatch the request 
run ActionController::Dispatcher.new 

Я не мог понять, почему нет заговоров, казались, не работать, это было как Passenger игнорировал мои рельсы приложения.

В моем файле /var/log/apache2/error.log, я имел это:

[Mon May 11 15:47:00.397891 2015] [autoindex:error] [pid 17490:tid 3058694976] [client 216.49.181.251:49248] AH01276: Cannot serve directory /home/x/y/railsapp/public/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive, referer: https://www.google.com/

Какой путать щеколда из меня, видимо, имел в виду «пассажир не работает на этом виртуальном хосте» ,

Если я создал общедоступный/index.html-файл, apache обслуживал это нормально, поэтому проблема не была разрешена.

Я также видел это, что означало пассажир запуск нормально:

[ 2015-05-11 18:23:53.9594 4964/b7415700 agents/Watchdog/Main.cpp:728 ]: All Phusion Passenger agents started!

Смотрите также https://www.phusionpassenger.com/documentation/Users%20guide%20Apache%204.0.html#_i_get_a_403_forbidden_error

Так в основном с пассажирским 5.x (в релизе отмечается, что говорит, что рельсы 2.2 ISN» t поддерживается 2,3, поддерживается только в том случае, если вы создаете файл «config.ru» в корне вашего рельсового приложения. Он работает со старыми версиями стойки, например, с рельсами 2.3, просто удалите свой новый камень и установите 1.1.6 или, что не так, удалите проданные камни, если они есть. GL!

Также как примечание стороны, это сообщение:

[Mon May 11 18:25:10.235574 2015] [core:alert] [pid 5263:tid 3017780032] [client 127.0.0.1:56737] /home/rdp/dev/prod_flds/public/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

означает «удалить ваш публичный/.htaccess файл, он не нужен, как правило, пассажиром»

+0

wow великое объяснение, что бы входило в файл config.ru? –

+1

@SurgePedroza добавил, что мой взгляд в любом случае выглядит, FWIW. – rogerdpack

 Смежные вопросы

  • Нет связанных вопросов^_^