/var/lib/nginx/client_body/0000000011 ist fehlgeschlagen (13: Berechtigung verweigert) mit node.js

/var/lib/nginx/client_body/0000000011 ist fehlgeschlagen (13: Berechtigung verweigert) mit node.js

Ich verwende node.jsNginx als Webserver, der auf Slackware 14.1 läuft.

Ich habe eine Seite erstellt, die eine Datei hochlädt. Auf meinem Entwicklungsrechner (wie Debian) funktioniert es einwandfrei, aber in der Produktion (Slackware-Server) erhalte ich diesen Fehler /var/log/nginx/error.log:

2015/10/09 15:08:44 [crit] 1231#0: *5 open() "/var/lib/nginx/client_body/0000000003" failed (13: Permission denied), client: 10.0.0.22, server: localhost, request: "POST /home/perfil_usuario/upload HTTP/1.1", host: "aluno.fio.edu.br", referrer: "http://aluno.fio.edu.br/home/perfil_usuario/upload"

Und Nginx gibt ein zurück 500 Internal Server Error.

Ich habe in vielen Posts nach Korrekturen gesucht und diese ausprobiert, aber der Fehler besteht weiterhin.

Antwort1

Wie die Fehlermeldung besagt, handelt es sich um eineBerechtigungenAusgabe.

Die Ursache hierfür liegt normalerweise darin, dass der Nginx-Prozessbenutzer www-databeispielsweise keinen Lese-/Ausführungszugriff auf eines der übergeordneten Verzeichnisse hat.

Überprüfen Sie alles /var/lib/nginx/client_body/und stellen Sie sicher, dass die Berechtigung auf jeder Verzeichnisebene korrekt ist, um das Problem zu lösen.

Antwort2

In meinem Fall war das Problem, dass der Besitz von /var/lib/nginx falsch war. Alle anderen Verzeichnisse, in die nginx schreibt, gehörten www-data, während das nginx-Verzeichnis root gehörte. In diesem Fall ist die beste Lösung, den Verzeichnisbesitz so zu ändern, dass er mit dem der anderen Verzeichnisse übereinstimmt, in die nginx schreibt.

Antwort3

In meinem Fall wurde der Besitz von /var/lib/nginx auf www-data:adm und die Berechtigung auf 770 gesetzt.

Änderungen haben mir geholfen, war

  1. chown-Wurzel:Wurzel /var/lib/nginx/
  2. chmod 0755 /var/lib/nginx

Auch /var/lib/nginx/tmp war anders. Der Besitz und die Berechtigung wurden gemäß Punkt 1 und Punkt 2 aktualisiert.

und der Inhalt in /var/lib/nginx/tmp wurde erwähnt

drwx------. 2 www-data root 6 Sep 29 23:37 uwsgi

drwx------. 2 www-data root 6 Sep 29 23:37 scgi

drwx------. 2 www-data root 6 Sep 29 23:37 fastcgi

drwx------. 10 www-data root 78 Okt 20 12:17 Proxy

drwx------. 2 www-data root 6 Okt 20 12:20 client_body

Nachdem Sie diese Berechtigungen und Eigentümer festgelegt haben, starten Sie Nginx neu. Sie werden dann keine Berechtigungsverweigerungsfehler mehr sehen und Nginx gibt keinen internen Serverfehler 500 mehr aus und ich habe das erwartete Ergebnis gesehen. Danke

verwandte Informationen