GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Habe die Apache-Site-Konfigurationsdatei 000-default.conf deaktiviert, aber sie scheint immer noch aktiv zu sein. Wieso den?

Nur als Erklärung für zukünftige Benutzer.

Ihre 000-default.conf-Datei ist eine Catch-All-Site und sollte in Ruhe gelassen werden. Es ist gut für die Sicherheit. Es kann frustrierend sein, wenn eine Site-Konfiguration nicht funktioniert und die Standard-Site bedient wird. Ich verstehe es. Lass es trotzdem. Vielen Menschen ist nicht bewusst, warum die Standard-Site existiert. Hier ist eine kleine Erklärung.

Wenn Apache eine Anfrage erhält, versucht es, sie mit einer ihm bekannten Konfiguration abzugleichen. Daher sucht jede Anfrage nach example.com nach einer example.com.conf mit der richtigen Konfiguration. Wenn es keine Übereinstimmung gibt, wird die Site 000-default.conf verwendet. Wenn eine Anfrage für bogusite.com gesehen wird und es auf dem Server nicht existiert, wird die Datei 000-default.conf bereitgestellt. Dies ist besonders nützlich für Anfragen, die nur IP-Adressen enthalten. Und die hassen wir alle!! Wenn es jedoch einen Fehler in example.com.conf gibt, ist es immer noch möglich, dass die Seite 000-default.conf bedient wird, was den genauen Grund, warum und wie die Konfiguration fehlschlägt, etwas verwirrend und sehr frustrierend macht.

Ich habe hier einige Beispielkonfigurationen von einem Live-Server gegeben:Virtualhost config:routing and wildcard usage

Wenn es darauf ankommt, sollten diese immer funktionieren. Sie können sie genau ausschneiden und einfügen und dann die erforderlichen Änderungen vornehmen oder Ihre vorhandene(n) Datei(en) ändern. Ihre Wahl. Es ist leicht, dabei zu schielen, seien Sie also vorsichtig. Wir haben es alle getan, damit Sie nicht allein sind.

@HighlyIrregular macht diesen Punkt in seinen Kommentaren deutlich, die leben sollten.

Sie können die Konfiguration jederzeit in einer Shell-Sitzung mit ...

überprüfen
$ apachectl configtest

... was bei der Fehlerbehebung helfen sollte.

Sie müssen Ihre neue/zusätzliche(n) Website(s) in Ihrem /etc/apache2/site-available/ erstellen Verzeichnis mit einem ähnlichen Dateiformat wie example.com.conf . Stellen Sie außerdem sicher, dass /etc/apache2/apache2.conf hat Include sites-enabled/ oder so ähnlich wie eine der letzten Zeilen.

Wenn eine Änderung an einer Konfigurationsdatei vorgenommen wird, muss Apache neu gestartet werden. Apache speichert Konfigurationen im Arbeitsspeicher und Änderungen werden erst nach einem Neustart sichtbar. In seltenen Fällen funktioniert ein Neustart nicht wie erwartet. Um dies als Problem auszuschließen, sollten Sie in diesem Fall Ihren Server neu starten. Es ist sehr wahrscheinlich, dass gültige Konfigurationen beim Neustart nicht angezeigt werden. Nicht sicher warum. Bei einem Neustart ist Apache jedoch gezwungen, die Konfigurationsdateien erneut zwischenzuspeichern. Es ist, als würde man einen größeren Hammer bekommen. Manchmal einen Versuch wert.


Ich stimme dem Benutzer 'closetnoc' zu, der am [2015-Aug-2 00:24:36Z] als Antwort auf den ursprünglichen Beitrag geantwortet hat, der schrieb:"The 000-default.conf site ist ein Auffangbehälter für alle Anfragen, für die der Server keine Konfigurationsdatei hat."

Und ich denke, wir können eine solche „Sammelstelle“ als letzten Ausweg nutzen, um die allgemeine Sicherheit zu gewährleisten und zu verbessern.

Ich habe versucht, die Site '000-default.conf weiterhin zuzulassen ' aktiviert werden, aber seine Konfiguration ein wenig anders machen, als alle Anfragen ständig fallen zu lassen, OHNE eine Antwort zu senden, und dann sofort DIE VERBINDUNG SCHLIESSEN für alle verbotenen Zugriffe, sodass dem versuchenden Anforderer nichts geantwortet/offenbart wird.

Hier ist mein '000-default.conf '-Datei zu Ihrer Information:

<VirtualHost *:80>
    # ServerName whatsoever
    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/default_error.log
    CustomLog ${APACHE_LOG_DIR}/default_access.log combined

    <Location />
        <RequireAny>
            # Example for 'Block all':
            # Require ip 0.0.0.0/32
            Require all denied

            # Example for 'White list':
            # Require ip 172.217.24.37/32
        </RequireAny>
    </Location>

    SecRuleEngine On
    SecRule RESPONSE_STATUS "403" "phase:4,id:1,drop"
</VirtualHost>

Denken Sie daran, die Datei „ModSecurity“ zu installieren ' Modul, sodass die Direktiven 'SecRuleEngine ' und 'SecRule “ kann angenommen werden. Wenn Sie zusätzliche Unterstützung und Referenzen zum Thema „ModSecurity '-Modul schlagen vor, dass Sie im Internet suchen.

Hoffe, das Obige hilft!


Linux
  1. Große Dateien finden und entfernen, die geöffnet sind, aber gelöscht wurden?

  2. Möglichkeit, die Ausgabe eines Programms umzuleiten und trotzdem nach Stdout zu gehen?

  3. Verwenden eines Chef-Rezepts zum Anhängen mehrerer Zeilen an eine Konfigurationsdatei

  4. Dateien werden gelöscht, aber der Speicherplatz ist noch voll

  5. Warum ist SUID für Shell-Skripte deaktiviert, aber nicht für Binärdateien?

Verwenden der SSH-Konfigurationsdatei

Warum haben Betriebssysteme Dateigrößenbeschränkungen?

Wie kann man eine Datei gegen Löschen sperren, aber trotzdem beschreibbar machen?

Wie kann ich den Speicher gelöschter, aber noch verwendeter Dateien unter Linux zurückfordern?

Warum haben Linux/POSIX lchown, aber nicht lchmod?

Centos 7 - Hinzufügen eines Benutzers zur Sudoers-Gruppe - ist immer noch nicht in der Sudoers-Datei - warum?