Heim Betrieb und Instandhaltung Apache So lösen Sie Apache 403 verboten

So lösen Sie Apache 403 verboten

Dec 16, 2019 pm 02:34 PM
apache

So lösen Sie Apache 403 verboten

Wie löst man Apache 403 verboten?

Apache httpd server 403 verbotenes Problem

1. Problembeschreibung

In der httpd-Konfiguration von Apache2 , 403 wird in vielen Situationen auftreten.

Ich habe gerade den httpd-Dienst installiert, natürlich wird es kein 403-Problem geben. Es trat hauptsächlich nach der Änderung einiger Konfigurationen auf. Das Problem wird wie folgt beschrieben:

Nach der Änderung des DocumentRoot-Verzeichnisses ist auf der Site ein 403-Fehler aufgetreten.

Das Einrichten eines virtuellen Hostverzeichnisses kann ebenfalls 403 verursachen.

Der httpd-Dienst von Apache wurde erfolgreich gestartet und sieht normal aus, hat aber keine Zugriffsberechtigung

Das Protokoll wird angezeigt: Zugriff auf / verweigert (Dateisystempfad '/srv/lxyproject/wsgi/ django.wsgi '), weil Suchberechtigungen für eine Komponente des Pfads fehlen

Nach dem Festlegen des virtuellen Verzeichnisses erscheint das Fehlerprotokoll: Client durch Serverkonfiguration verweigert: /srv/lxyproject/wsgi/django.wsgi

2. Analyse von Problemen und Lösungen

Achten Sie auf den Inhalt des Fehlerprotokolls, wenn Sie das Problem unten Schritt für Schritt lösen. Okay, fang an.

1. Die Verzeichniskonfigurationsdatei in httpd.conf

Wenn sie zeigt, dass DocumentRoot geändert wurde, wird sie beispielsweise in „/usr/local/site/test“ geändert. Das Site-Verzeichnis und das Testverzeichnis werden mit mkdir erstellt, und dann wird eine index.html unter dem Testverzeichnis abgelegt. In diesem Fall sollten Sie die Konfiguration in httpd.conf überprüfen.

Ihr muss mit DocumentRoot übereinstimmen, da dieses Verzeichnis die Zugriffsberechtigungseinstellung von Apache für das Verzeichnis ist. Nur das richtige Verzeichnis wird von DocumentRoot übernommen Wirkung.

<Directory "/usr/local/site/test">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn&#39;t give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None
    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>
Nach dem Login kopieren

2. Verzeichniszugriffsberechtigungen

Der erste Schritt ist korrekt, aber 403 wird immer noch angezeigt. Überprüfen Sie, ob in der Verzeichniskonfiguration „/usr/local/site/test“ Verweigern angezeigt wird "> alle. Andernfalls wird natürlich jeder Zugriff verweigert, 403.

kann auf „Von allen zulassen“ oder „Alle dürfen zur Verarbeitung zugelassen werden“ eingestellt werden.

Ändern Sie „Alle verweigern“ im Stammverzeichnis von nicht.

3. Verzeichnisberechtigungen

Wenn es immer noch 403 ist, liegt möglicherweise ein Berechtigungsproblem mit dem Website-Verzeichnis vor.

Apache erfordert, dass das Verzeichnis über Ausführungsberechtigungen verfügt, nämlich x. Es ist zu beachten, dass Ihr Verzeichnisbaum über diese Berechtigungen verfügen sollte.

Wenn Ihr Verzeichnis /usr/local/site/test ist, stellen Sie sicher, dass die vier Ebenen /usr, /usr/local, /usr/local/site, /usr/local/site/test alle Verzeichnisse umfassen habe 755 Berechtigungen.

#chmod 755 /usr/local/site
#chmod 755 /usr/local/site/test
Nach dem Login kopieren

Ein Fehler, den ich gemacht habe, war, dass ich nur die Verzeichnisberechtigungen der letzten Ebene und nicht die Verzeichnisberechtigungen der oberen Ebene festgelegt habe, was zu 403 führte.

4. Virtuelles Verzeichnis

[Ich bin noch nie auf dieses Problem gestoßen, weil ich es noch nie so geschrieben habe, was als Referenz verwendet werden kann]

Wenn es sich um ein virtuelles Verzeichnis handelt, müssen Sie in httpd.conf ein virtuelles Verzeichnis definieren, und es sieht wie das folgende Fragment aus:

Alias /folder "/usr/local/folder"                       
<Directory "/usr/local/folder">                         
    Options FollowSymLinks                            
    AllowOverride None                              
    Order deny,allow                               
    Deny from all                                 
    Allow from 127.0.0.1 192.168.1.1                       
</Directory>
Nach dem Login kopieren

Wenn dies der Fall ist und Sie etwas Ähnliches schreiben Zu meinem Code oben, drei Jeder Ordner ist derselbe, es wird definitiv 403 sein! Um es zu lösen, ändern Sie die Zeichenfolge nach dem Schrägstrich in etwas, das nicht mit dem Ordner des virtuellen Verzeichnisses übereinstimmt. Dann kann ich natürlich auf das geänderte virtuelle Verzeichnis zugreifen Es ist auch in Ordnung mit Ordnern, solange Sie keine Angst vor Problemen haben und die Definitionszeichen des virtuellen Verzeichnisses (rot) hinter Alias ​​​​und dem tatsächlichen Ordnernamen (schwarz) unterschiedlich sind, ist es in Ordnung.

5. Selinux-Problem

Wenn es immer noch 403 ist, dann verursacht Selinux Probleme. Daher können Sie die Selinux-Berechtigungen für Ihr Verzeichnis festlegen.

Das ist das Problem, auf das ich heute gestoßen bin.

#chcon -R -t httpd_sys_content_t /usr/local/site
#chcon -R -t httpd_sys_content_t /usr/local/site/test
Nach dem Login kopieren

Online-Informationen besagen, dass die meisten dieser Schritte nicht durchgeführt werden. Aber mein Problem ist tatsächlich, dass es möglicherweise mit dem System zusammenhängt und ich das spezifische Prinzip immer noch nicht verstehe.

6. Probleme mit wsgi

Meine virtuelle Hostkonfiguration ist:

<VirtualHost *:80>
WSGIScriptAlias / /srv/lxyproject/wsgi/django.wsgi
Alias /static/ /srv/lxyproject/collectedstatic/
ServerName 10.1.101.31
#ServerName example.com
#ServerAlias www.example.com
<Directory /srv/lxyproject/collectedstatic>
  Options Indexes  FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<Directory /srv/lxyproject/wsgi/>
    Allow from all
</Directory>
ErrorLog   /etc/httpd/logs/lxyproject.error.log
LogLevel warn
</VirtualHost>
Nach dem Login kopieren

Wenn ich auf den

Protokollfehler zugreife:

client denied by server configuration: /srv/lxyproject/wsgi/django.wsgi
Nach dem Login kopieren

Gelöste Methode:

Zulassen von allen in ändern zu: Erfordern alle gewährt.

Dieses Problem ist auf die Version zurückzuführen.

Meine httpd-Version ist:

[root@yl-web conf.d]# rpm -qa |grep httpd
httpd-devel-2.4.6-31.el7.centos.x86_64
httpd-tools-2.4.6-31.el7.centos.x86_64
httpd-2.4.6-31.el7.centos.x86_64
Nach dem Login kopieren

Für Versionen unter 2.3 verwenden Sie „Von allen zulassen“ und für Versionen 2.3 und höher Erfordern alle gewährt.

<Directory /home/aettool/aet/apache>
  <IfVersion < 2.3 >
   Order allow,deny
   Allow from all
  </IfVersion>
  <IfVersion >= 2.3>
   Require all granted
  </IfVersion>
</Directory>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo lösen Sie Apache 403 verboten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So führen Sie das H5 -Projekt aus So führen Sie das H5 -Projekt aus Apr 06, 2025 pm 12:21 PM

Ausführen des H5 -Projekts erfordert die folgenden Schritte: Installation der erforderlichen Tools wie Webserver, Node.js, Entwicklungstools usw. Erstellen Sie eine Entwicklungsumgebung, erstellen Sie Projektordner, initialisieren Sie Projekte und schreiben Sie Code. Starten Sie den Entwicklungsserver und führen Sie den Befehl mit der Befehlszeile aus. Vorschau des Projekts in Ihrem Browser und geben Sie die Entwicklungsserver -URL ein. Veröffentlichen Sie Projekte, optimieren Sie Code, stellen Sie Projekte bereit und richten Sie die Webserverkonfiguration ein.

So exportieren Sie PDF mit XML So exportieren Sie PDF mit XML Apr 03, 2025 am 06:45 AM

Es gibt zwei Möglichkeiten, XML in PDF zu exportieren: Verwenden von XSLT und Verwendung von XML -Datenbindungsbibliotheken. XSLT: Erstellen Sie ein XSLT -Stylesheet und geben Sie das PDF -Format an, um XML -Daten mit dem XSLT -Prozessor zu konvertieren. XML -Datenbindungsbibliothek: XML -Datenbindungsbibliothek importieren PDF -Dokumentobjekt Lade XML -Daten Export PDF -Dateien. Welche Methode für PDF -Dateien besser ist, hängt von den Anforderungen ab. XSLT bietet Flexibilität, während die Datenbindungsbibliothek einfach zu implementieren ist. Bei einfachen Conversions ist die Datenbindungsbibliothek besser und für komplexe Conversions ist XSLT besser geeignet.

Apache -Fehlerbehebung: Diagnose und Lösung gemeinsamer Fehler Apache -Fehlerbehebung: Diagnose und Lösung gemeinsamer Fehler Apr 03, 2025 am 12:07 AM

Apache -Fehler können durch Anzeigen von Protokolldateien diagnostiziert und behoben werden. 1) Zeigen Sie den Fehler an. Log -Datei, 2) Verwenden Sie den Befehl GREP, um Fehler in bestimmten Domänennamen zu filtern, 3) die Protokolldateien regelmäßig reinigen und die Konfiguration optimieren. Durch diese Schritte können Apache -Fehler effektiv diagnostiziert und gelöst werden.

Wie man pom.xml generiert Wie man pom.xml generiert Apr 03, 2025 am 06:00 AM

Es gibt folgende Möglichkeiten, um eine POM.xml -Datei zu generieren: Verwenden Sie den Maven -Archetyp, um vordefinierte Projektvorlagen bereitzustellen, um pom.xml -Dateien für bestimmte Arten von Projekten automatisch zu generieren. Verwenden Sie das Maven -Helfer -Plugin, um Befehle zur Erstellung von pom.xml -Dateien bereitzustellen. Erstellen Sie manuell, um die Datei pom.xml für das Projekt anzupassen.

So setzen Sie die Charaktercodierung auf der Serverseite, um die Bootstrap -Tabelle zu lösen So setzen Sie die Charaktercodierung auf der Serverseite, um die Bootstrap -Tabelle zu lösen Apr 07, 2025 pm 12:00 PM

Um die Charaktercodierung auf der Serverseite festzulegen, um die durchgestellte Bootstrap -Tabelle zu lösen, müssen Sie die folgenden Schritte ausführen: Überprüfen Sie die Server -Zeichencodierung. Bearbeiten Sie die Serverkonfigurationsdatei; Setzen Sie die Zeichenkodierung auf UTF-8; Speichern und starten Sie den Server neu; Überprüfen Sie die Codierung.

Ich kann MySQL nicht in XAMPP starten Ich kann MySQL nicht in XAMPP starten Apr 08, 2025 pm 03:15 PM

Es gibt viele Gründe, warum XAMPP MySQL nicht startet, einschließlich Portkonflikten, Konfigurationsdateifehlern, nicht genügend Systemberechtigungen, Problemen mit Serviceabhängigkeit und Installationsproblemen. Die Schritte zur Fehlerbehebung lauten wie folgt: 1) Überprüfung von Hafenkonflikten; 2) Konfigurationsdateien prüfen; 3) Systemberechtigungen prüfen; 4) Serviceabhängigkeiten prüfen; 5) MySQL neu installieren. Befolgen Sie diese Schritte und Sie können Probleme finden und beheben, die dazu führen, dass MySQL -Startup fehlschlägt.

So überprüfen Sie die Debian OpenSSL -Konfiguration So überprüfen Sie die Debian OpenSSL -Konfiguration Apr 12, 2025 pm 11:57 PM

In diesem Artikel werden verschiedene Methoden eingeführt, um die OpenSSL -Konfiguration des Debian -Systems zu überprüfen, um den Sicherheitsstatus des Systems schnell zu erfassen. 1. Bestätigen Sie zuerst die OpenSSL -Version und stellen Sie sicher, ob OpenSSL installiert wurde und Versionsinformationen. Geben Sie den folgenden Befehl in das Terminal ein: Wenn OpenSslversion nicht installiert ist, fordert das System einen Fehler auf. 2. Zeigen Sie die Konfigurationsdatei an. Die Hauptkonfigurationsdatei von OpenSSL befindet sich normalerweise in /etc/ssl/opensl.cnf. Sie können einen Texteditor (z. B. Nano) verwenden: Sudonano/etc/ssl/openSSL.cnf Diese Datei enthält wichtige Konfigurationsinformationen wie Schlüssel-, Zertifikatpfad- und Verschlüsselungsalgorithmus. 3.. Verwenden Sie OPE

SO VERVORTIERUNG DER BOOTRAP -Seite SO VERVORTIERUNG DER BOOTRAP -Seite Apr 07, 2025 am 10:06 AM

Die Vorschau -Methoden von Bootstrap -Seiten sind: Öffnen Sie die HTML -Datei direkt im Browser; Aktualisieren Sie den Browser automatisch mit dem Live-Server-Plug-In. und erstellen Sie einen lokalen Server, um eine Online -Umgebung zu simulieren.

See all articles