2013-08-07 5 views
7

Ich habe bereits die benötigten Tools installiert, und folgten mehrere Tutorials versuchen, Passagier reagieren zu lassen.Ich erhalte 403 Fehler mit Passagier für Schienen in Apache

Ich kann auf statische Dateien im Öffentlichen Ordner zugreifen (public/500.html oder 422.hml). Gestern bin ich durch einen vhost gekommen und habe einige Passagierfehler gefunden. Aber einige Zeit später hat das Hosting den Dienst neu gestartet und seitdem konnte ich nicht mehr auf die Rails-App zugreifen.

link

link

link

Dies sind einige der Links, die ich den Server so konfigurieren verwendet. Ich habe auch gelesen, dass dies ein Erlaubnisproblem sein könnte; Ich habe das überprüft, aber ich bin mir nicht sicher, ob es in Ordnung ist.

+0

403 verboten Fehler ist die Erlaubnis. Überprüfen Sie das Dokumentstammverzeichnis, und vergewissern Sie sich, dass index.php über die Berechtigung 644 verfügt. Stellen Sie außerdem sicher, dass die index.php Benutzerrechte besitzt, wie die von 500.html, auf die zugegriffen werden kann. –

+0

Dies ist eine Rails App, die durch Apache + Passagier funktioniert. Ich kann auf lokale Dateien wie Bilder zugreifen. Aber wenn die Schienen reagieren sollen, gibt mir dieser Fehler. – narc88

Antwort

1

Antwort war, dass Passagier mir 403 gab, weil ich die Umgebungsvariable „RackEnv“ auf Apache-Konfiguration musste auf „Entwicklung“ (auf meinem Fall).

15

Zuerst überprüfen Sie Ihr Fehlerprotokoll. Standardmäßig ist es unter /var/log/apache2/ platziert.

Wenn Sie client denied by server configuration Problem haben, überprüfen Sie Ihre Website Conf-Datei unter /etc/apache2/sites-available/your-site.conf. Es muss in Übereinstimmung mit Phusion Passenger User Guide sein. Werfen Sie einen Blick auf 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

Danke! Der 'Require all bewilligte' machte es funktioniert – macool

+1

Scheint,' Require all bewilligt' ist * erforderlich * Wenn Sie Apache> = 2.4 verwenden – rogerdpack

2

Ich habe auch einen Fehler 403 mit Passagier für Schienen in Apache auf meinem Mac OS 10.9 (ein Unix-ähnliches System). Hier sind ein paar Tipps:

  1. Sie können überprüfen, Apache Log-Verzeichnis und was passiert ist. Das Verzeichnis: /var/log/apache2/error_log.
  2. Problem: Berechtigung verweigert: Zugriff auf/verweigert (Dateisystempfad 'path_apache_access'), da Suchberechtigungen für eine Komponente des Pfads fehlen.

    Überprüfen Sie 'path_apache_access' von CLI: ls -ld 'path_apache_access' und verwenden Sie chmod + x, um die Pfadberechtigung zu ändern.

    Beachten Sie auch dies: Httpd Wiki - (13) Permission Denied-.

  3. Problem: Konfigurationsfehler: Authentifizierung konnte nicht durchgeführt werden. AuthType nicht gesetzt!.

    Problem: Client von Serverkonfiguration verweigert.

    Gehen Sie zu /etc/apache2/httpd.conf und werfen Sie einen Blick auf <Verzeichnis> Tag.

    Überprüfen Sie die Apache-Version von CLI: apachectl -v, wenn Apache < 2.4, nicht kommentieren "Erfordern alle gewährt".

    <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

OK für mich bedeutete, ich war Schienen 2.3 und mit Phusion Passagier 5.x

Anscheinend 5.x funktioniert nicht mit 2.2 überhaupt, und erfordert 2.3 für Sie laufen Kopieren Sie in einer config.ru-Datei, so dass es Rack für das Back-End verwendet.

Beispiel config.ru Datei für 2.3:

# Rack Dispatcher 

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

# Dispatch the request 
run ActionController::Dispatcher.new 

Ich konnte nicht herausfinden, warum keine Beschwörungen zu arbeiten schien, es war wie Passagier meine Rails-Anwendung wurde ignoriert.

In meiner /var/log/apache2/error.log Datei hatte ich dies:

[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/

, die den Teufel verwirrt aus mir ein scheinbar gemeint „Passagier nicht auf dem virtuellen Host ausgeführt“ .

Wenn ich eine public/index.html-Datei erstellt habe, war Apache so gut, dass es kein Berechtigungsproblem war.

Ich sah auch das, was bedeutete, ok Passagier wurde Anfahren:

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

Siehe auch https://www.phusionpassenger.com/documentation/Users%20guide%20Apache%204.0.html#_i_get_a_403_forbidden_error

Also im Grunde mit Passagiere 5.x (in der Release Notes er sagt, dass 2,2 isn‘Schienen t unterstützt, 2.3 wird nur unterstützt, wenn Sie eine Datei "config.ru" in der root Ihrer Rails App erstellen. Es funktioniert mit alten Versionen von Rack wie Schienen 2.3 erfordert, nur entfernen Sie Ihre neuere Rack-Edelstein und installieren Sie 1.1.6 oder was nicht, entfernen Sie die gemusterten Rack-Edelsteine, falls vorhanden. GL!

Auch als eine Randnotiz, diese Nachricht:

[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

„entfernen public/.htaccess-Datei ist es normalerweise nicht von Passagier benötigt“ gemeint Ausgabe

+0

wow großartige Erklärung, was würde in der Datei config.ru gehen? –

+1

@SurgePedroza hinzugefügt, was meiner sowieso aussieht, FWIW. – rogerdpack