CentOS gibt 403 für alle https-URLs zurück

CentOS gibt 403 für alle https-URLs zurück

Wir haben festgestellt, dass alle https-URLs auf einem CentOS 6 VPS über mehrere virtuelle Hosts hinweg eine 403-Fehlermeldung zurückgeben. Gibt es irgendwo eine Konfigurationseinstellung, nach der ich suchen sollte, um zu überprüfen, was los ist? Oder ein Protokoll, das beim Debuggen hilft?

Antwort1

Ihre Protokolle sind da /var/log/httpd(Sie müssen „Root“ sein, um sie anzuzeigen). Sie finden access_logund error_logdort.

Haben Sie die Berechtigungen für Ihre Dateien festgelegt/überprüft? Die Gruppe apachesollte diese zumindest lesen können. Wenn ich (Benutzer gareth) beispielsweise eine Site unter habe , /var/www/htmldann:

$ls -l /var/www/html
-rwxr-----. gareth apache 30 Jun 23 13:35 test.html

Wie Sie sehen, habe ich rwZugriff auf die Datei und der Apache-Dienst hat rZugriff. Außerdem:-

$ls -ld /var/www/html
drwx--x---. gareth apache 4096 Jun 23 13:35 /var/www/html/

Das Verzeichnis, das die Website enthält, muss über die xBerechtigung für die apacheGruppe verfügen, damit Apache das Verzeichnis lesen kann. Ebenso muss das übergeordnete Verzeichnis über die xBerechtigung verfügen. Und das übergeordnete Verzeichnis des übergeordneten Verzeichnisses usw.

Wenn die Berechtigungen für die Datei in Ordnung sind, prüfen Sie, ob dies SELinuxnicht der Übeltäter ist. Führen Sie Folgendes aus: -

`setenforce 0`

und versuchen Sie es erneut. Wenn es jetzt funktioniert, liegt das Problem an SELinux. Denken Sie daran, Folgendes auszuführen: -

`setenforce 1`

um SELinux wieder zu aktivieren.

Antwort2

Ein 403-Statuscode zeigt an, dass der Client nicht auf die angeforderte Ressource zugreifen kann. Dies bedeutet normalerweise, dass die Dateien und/oder das Verzeichnis, auf die die URL verweist, nicht über die erforderlichen Berechtigungen verfügen, um dem HTTP-Server den Zugriff zu ermöglichen.

Stellen Sie sicher, dass der vom HTTP-Server verwendete Benutzername/die Gruppe über ausreichende Berechtigungen verfügt, um auf dieses Verzeichnis zuzugreifen. Darüber hinaus sollten Sie Informationen hierzu in sehen /var/log/httpd/access_log, wenn es sich bei dem HTTP-Server beispielsweise um Apache handelt.

Der Benutzer/die Gruppe von Apache sind in der Konfigurationsdatei definiert /etc/httpd/conf/httpd.conf.

Beispiel

$ grep -E "^User|^Group" /etc/httpd/conf/httpd.conf 
User apache
Group apache

Antwort3

Offenbar gab es ein Problem mit der Installation von mod-spdy-beta_current_x86_64.rpm. Das Entfernen und ein Neustart des Servers haben das Problem behoben.

verwandte Informationen