Запрещено 403 - Приложение Rails

Некоторая помощь будет оценена по достоинству - продолжайте получать ошибку Forbidden 403. Конфигурация Nginx:

listen       80;
server_name  www.xxx.com;   
passenger_enabled   on;
#charset koi8-r;
#access_log  logs/host.access.log  main;
root   /home/deploy/xxx.com/current;

Я развернул с помощью Capistrano, и это было успешно (развертывание шапки). Я гуглил и не нашел особой помощи из тех, что пробовал. Во-вторых, я удалил свою «общедоступную» папку и включил свой «маршрут» в route.rb.

root to: 'static_pages#home'

Первоначально у меня была папка «public», но она продолжала переходить в «index.html», а не в «Rails/Home». Я пробовал это локально, и он отлично работает с «рельсовым сервером» на локальном хосте: 3000.

Похоже, что NGINX теперь не умеет находить или обслуживать страницы Rails.

Пс. Я сделал обзор StackOverflow, но мне не повезло.

Любая помощь будет оценена по достоинству.


person Dane Balia    schedule 01.09.2012    source источник
comment
Я предполагаю, что эта строка root /home/deploy/xxx.com/current; должна быть root /home/deploy/xxx.com/current/public;.   -  person MurifoX    schedule 01.09.2012
comment
Да, попробовал, как указано выше :) Я удалил общедоступный, потому что он продолжал ссылаться на index.html, что неверно.   -  person Dane Balia    schedule 01.09.2012
comment
Вы удалили index.html? Если нет, вы должны удалить файл.   -  person MurifoX    schedule 01.09.2012
comment
Хорошо, попробуем, дайте знать через минуту   -  person Dane Balia    schedule 01.09.2012
comment
Хорошая попытка, но неудачная - если там есть публика, она все еще ищет index.html cries   -  person Dane Balia    schedule 01.09.2012
comment
Так это работает на производстве. Вы должны указать свой веб-сервер на общедоступную страницу вашего приложения. Когда я сделал развертывание в облаке, я следовал этому руководству, которое мне очень помогло. infinite-sushi.com/2011 /01/   -  person MurifoX    schedule 01.09.2012
comment
Что вы получаете в access.log для nginx и что отображается в журнале приложения rails? Это должно показать вам, что решается обоими...   -  person John Paul Ashenfelter    schedule 01.09.2012
comment
проверьте права доступа к файлам приложения, попробуйте изменить их.   -  person Pritesh Jain    schedule 01.09.2012
comment
На данный момент error.log пишет - error] 19615#0: *1 /home/deploy/xxx.com/currenti/public/index.html не найден (2: Нет такого файла или каталога); И журнал доступа; 41.29.243.112 - - [01/сен/2012:13:17:40 +0000] GET /favicon.ico HTTP/1.1 404 570 - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.1 (KHTML, например Gecko) Chrome/21.0.1180.82 Safari/537.1 41.29.243.112 - - [01/сен/2012:13:18:20 +0000] - 400 0 - - 69.175.54.106 - - [01/сен/2012:13:56 :24 +0000] ПОЛУЧИТЬ / HTTP/1.0 404 168 - -   -  person Dane Balia    schedule 01.09.2012
comment
Изменены разрешения для всей папки приложения на 755. Посмотрю учебник, спасибо MurifoX.   -  person Dane Balia    schedule 01.09.2012
comment
Обнаружена проблема - кажется, в config/environments/production.db у меня не была включена предварительная компиляция для изображений, поэтому произошла внутренняя ошибка при загрузке тега изображения......ооо прогресс   -  person Dane Balia    schedule 01.09.2012
comment
Следующей ошибкой была среда выполнения Javascript — Mac OS X, по-видимому, имеет ее по умолчанию, поэтому ее необходимо добавить на производственный сервер; драгоценный камень 'рубигонщик'   -  person Dane Balia    schedule 01.09.2012


Ответы (2)


Yihhaaaaa хорошо понял!

Проблема, казалось, заключалась в двух вещах, как упоминалось в комментариях:

а) ошибка перед компиляцией; изображения не загружались. Зашел в
config/environments/production.db и включил true для компиляции ресурсов.

(б) Во-вторых, потому что я разрабатывал на Mac OS X, среда выполнения Javascript включена по умолчанию, тогда как моя производственная версия Ubuntu не так. Поэтому я добавил в GemFile — gem therubyracer.

И что вы знаете, это работает! Ключ искал в production.log (/home/deploy/xxx.com/current/log/). Это все расскажет.

Ваше здоровье

person Dane Balia    schedule 01.09.2012

Есть несколько причин, связанных с этой ошибкой, пожалуйста, проверьте этот пост для получения более подробной информации: http://thelazylog.com/posts/how-to-fix-403-fobidden-issue-on-nginx-rails-приложение

person The Lazy Log    schedule 11.09.2014