403 Verbotenes nginx (nginx/1.8.0)

403 Verbotenes nginx (nginx/1.8.0)

Ich habe gerade einen neuen Server bei DigitalOcean bekommen und möchte ein paar andere Dinge ausprobieren. Ich möchte eine WordPress-Site starten, also folge ich den ersten 1-3 Schritten von hier:https://deliciousbrains.com/hosting-wordpress-yourself-nginx-php-mysql/. Zunächst läuft alles gut und ich habe es geschafft, WordPress zu installieren. Leider tritt auf meiner Site derzeit die Fehlermeldung 403 Forbidden auf.

Ich verwende Ubuntu 14.04 x64. Ich stecke schon eine ganze Weile fest und habe immer noch keine Ahnung, was los ist. Ich habe sogar versucht, Nginx zu entfernen und neu zu installieren, aber immer noch dasselbe.

Hier ist meine Conf-Datei:

Benutzer Sylvia;
Arbeiterprozesse 1;
pid /run/nginx.pid;

Veranstaltungen {
        Arbeiterverbindungen 1024;
        # multi_accept ein;
}

http {

        ##
        # Grundeinstellungen
        ##

        sendfile an;
        tcp_nopush ein;
        tcp_nodelay ein;
        Keepalive-Timeout 15;
        Typen_Hash_max_Größe 2048;
        # Server-Tokens aus;
        maximale Körpergröße des Clients: 64 m;

        # Servernamen_Hash_Bucket_Größe 64;
        # Servername_in_Umleitung aus;

        /etc/nginx/mime.types einschließen;
        Standardtyp Anwendung/Oktett-Stream;

        ##
        # Protokollierungseinstellungen
        ##

        Zugriffsprotokoll /var/log/nginx/access.log;
        Fehlerprotokoll /var/log/nginx/error.log;

        ##
        # Gzip-Einstellungen
        ##

        gzip an;
        gzip_disable "msie6";

        # gzip_vary ein;
        # beliebiger gzip_proxied;
        # gzip_comp_level 2;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types Text/Klartext/CSS-Anwendung/JSON-Anwendung/Javascript-Text/XML-Anwendung/XML-Anwendung/XML+RSS-Text/Javascript;

        ##
        # Virtuelle Host-Konfigurationen
        ##

        /etc/nginx/conf.d/*.conf einschließen;
        schließen Sie /etc/nginx/sites-enabled/* ein;

       Server {
              hören Sie 80 Standardserver;
               Servername _;
               Rückgabe 444;
                    }

Irgendeine Idee?

Antwort1

Höchstwahrscheinlich handelt es sich um ein Berechtigungsproblem. Geben Sie dem Benutzer www-data die Berechtigung, auf Ihr Web-Stammverzeichnis zuzugreifen. Sie können auch den Besitz übertragen.

chown -R www-data:www-data /path/to/your/directory

Antwort2

Verboten bedeutet, dass NGINX das Verzeichnis, in dem die Dateien gespeichert sind, nicht öffnen kann.

Die NGINX-Fehlerprotokolle geben Ihnen die genaue Ursache des Problems an.

Die Protokolle werden in /var/logs/nginx/error_log gespeichert. Öffnen Sie einfach die Datei, gehen Sie zu den letzten Zeilen und sehen Sie, welchen genauen Fehler Sie erhalten.

Im Idealfall wird das Problem durch die Erstellung eines chmod 755-Verzeichnisses gelöst.

Antwort3

Ich hatte auch ein 403-Problem, das durch den Verzeichnismodus verursacht wurde.

Ich habe das Stammverzeichnis unter „Home“ festgelegt und der Standardmodus für das Home-Verzeichnis ist 600.

Dann fand ich diesen Artikelhttps://gist.github.com/jhjguxin/6208474, und habe versucht, das Stammverzeichnis auf 755 zu ändern, und das Problem war gelöst.

Daher scheint es, dass die Standardberechtigungen für Benutzer-Home-Verzeichnisse in Ubuntu 12.04 700 betragen.** Nginx muss über Leseberechtigung für die Dateien verfügen, die bereitgestellt werden sollen, UND über Ausführungsberechtigung für jedes der übergeordneten Verzeichnisse entlang des Pfads vom Stammverzeichnis zu den bereitgestellten Dateien.**

Sie können Ihrem Benutzerverzeichnis diese Berechtigungen erteilen, indem Sie

chmod 701 Benutzer-Home

Sie können auch 755 verwenden. Dies ist auf vielen Systemen die Standardberechtigungseinstellung für das Home-Verzeichnis.

Die Verzeichnisse/Dateien in Ihrem Webstammverzeichnis können dem Benutzer „www-data“ oder Ihrem normalen persönlichen Benutzer gehören, solange der Benutzer/die Gruppe, unter der nginx ausgeführt wird (wie in nginx.conf definiert), Leseberechtigung für alle bereitzustellenden Dateien und Ausführungsberechtigung für alle Webstammverzeichnisse hat.

Antwort4

Wenn Sie lediglich versuchen, Verzeichnisinhalte aufzulisten, verwenden Sie autoindex on;Folgendes:

location /somedir {
       autoindex on;
}

verwandte Informationen