403 Verboten auf Schienen App w / Nginx, Passagier
Zunächst einmal entschuldigen wir uns: Ich weiß, dass die 403 Forbidden-Frage für Rails / Nginx-Installationen weit verbreitet ist, aber keine der bisher gelesenen Antworten hat sie für mich gelöst.
Haftungsausschluss: Dies ist das erste Mal, dass ich eine Rails-App an einem anderen Ort als Heroku einsetze. Bitte sei höflich. ;)
Situation: Ich habe eine Rails-App auf einem Ubuntu 12.04-Server mit Nginx (installiert mit Passenger).
Ich habe meine App ordnungsgemäß auf meinem Server bereitgestellt. Wenn ich jedoch versuche, auf die Site zuzugreifen, wird der Fehler 403 Verboten angezeigt.
Beim Überprüfen meiner Fehlerprotokolle wird Folgendes angezeigt:
2013/10/23 22:47:01 [error] 27954#0: *105 directory index of "/var/www/colepeters.com/current/public/" is forbidden, client: 50.3…server: colepeters.com, request: "GET / HTTP/1.1", host: "colepeters.com"
2013/10/23 22:47:10 [error] 27954#0: *106 directory index of "/var/www/colepeters.com/current/public/" is forbidden, client: 184…server: colepeters.com, request: "GET / HTTP/1.1", host: "colepeters.com"
2013/10/23 22:47:12 [error] 27954#0: *107 directory index of "/var/www/colepeters.com/current/public/" is forbidden, client: 151…server: colepeters.com, request: "GET / HTTP/1.1", host: "colepeters.com"
Wenn ich jedoch die Berechtigungen für dieses Verzeichnis überprüfe, sehe ich, dass der Benutzer, den ich für die Verwendung von Nginx eingerichtet habe, über Lese- und Ausführungsberechtigungen für dieses Verzeichnis verfügt.
Hier die relevanten Infos aus meiner nginx.conf:
user XXXX;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
passenger_root /home/cole/.rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.21;
passenger_ruby /home/cole/.rvm/wrappers/ruby-2.0.0-p247/ruby;
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name colepeters.com www.colepeters.com;
passenger_enabled on;
root /var/www/colepeters.com/current/public/;
rails_env production;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /var/www/colepeters.com/current/public;
index index.html index.htm;
# autoindex on;
}
Ich würde mich über jede Hilfe bei der Lösung dieses Problems sehr freuen. Vielen Dank!
AKTUALISIEREN Ich habe seitdem den erroneus passenger_ruby-Pfad korrigiert, aber der 403 Forbidden bleibt auch nach dem Neustart von Nginx bestehen.