Забранено 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 и беше успешно (cap deploy). Търсих в Google и не намерих много помощ от тези, които опитах. Второ, премахнах моята "обществена" папка и активирах моя "маршрут" в routes.rb.

root to: 'static_pages#home'

Първоначално имах папката "public" на място, но тя продължи да отива към "index.html", а не към Rails /Home. Опитах това локално и работи перфектно с "rails сървър" на localhost: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
Да, опитах това, както по-горе :) Премахнах public, защото продължаваше да препраща към 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
Добър опит, но без успех - ако public е там, изглежда все още търси index.html плаче   -  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 казва - грешка] 19615#0: *1 /home/deploy/xxx.com/currenti/public/index.html не е намерен (2: Няма такъв файл или директория); И дневник за достъп; 41.29.243.112 - - [01/Sep/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] GET / 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 не бях включил предварителната компилация за изображения, така че имаше вътрешна грешка при зареждането на image_tag......ооо напредък   -  person Dane Balia    schedule 01.09.2012
comment
Следващата грешка беше Javascript Runtime - Mac OS X изглежда има такъв по подразбиране, така че трябва да добавите към производствен сървър; скъпоценен камък 'therubyracer'   -  person Dane Balia    schedule 01.09.2012


Отговори (2)


Yihhaaaaa добре разбрах!

Проблемът изглежда е в две неща, както се споменава в коментарите:

(a) Грешка преди компилирането; изображенията не се зареждаха. Влезте в
config/environments/production.db и включих true за компилация на активи.

(b) Второто нещо беше, защото разработвах на Mac OS X, Javascript Runtime е включен по подразбиране, докато моята производствена 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