it-swarm.com.de

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

Ich habe eine Datei mysite.conf mit den richtigen Einstellungen zu meinem für Apache-Sites verfügbaren Ordner hinzugefügt, sie dann aktiviert und Apache neu geladen, und sie funktioniert nicht. Ich möchte die in 000-default.conf definierte Standard-Site-Konfiguration deaktivieren, um festzustellen, ob das Problem dadurch behoben wird.

Um dies zu erreichen, lief ich:

cd /etc/Apache2/sites-available/
Sudo a2dissite 000-default.conf
service Apache2 reload

und alles schien in Ordnung zu funktionieren, aber wenn ich mysite.com in meinem Browser lade, sehe ich immer noch die Standarddatei index.html in/var/www/html/(wie in 000-default.conf angegeben), obwohl ich haben die Site-Konfigurationsdatei für meine Domain wie folgt aktiviert:

<VirtualHost *:80>
        ServerName www.mysite.com
        ServerAlias mysite.com

        ServerAdmin [email protected]
        DocumentRoot /var/www/mysite.com

        ErrorLog ${Apache_LOG_DIR}/error_mysite.log
        CustomLog ${Apache_LOG_DIR}/error_access_mysite.log combined

</VirtualHost>

Ich habe eine Datei /var/www/mysite.com/index.php, von der ich erwarte, dass sie stattdessen geladen werden sollte.

7

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 Standortkonfiguration nicht funktioniert und der Standardstandort bereitgestellt wird. Ich verstehe es. Lass es trotzdem in Ruhe. Vielen Menschen ist nicht bekannt, warum die Standardwebsite vorhanden ist. Hier ist eine kleine Erklärung.

Wenn Apache eine Anfrage erhält, versucht er, diese mit einer ihm bekannten Konfiguration abzugleichen. Daher sucht jede Anfrage für example.com nach einer example.com.conf mit einer korrekten Konfiguration. Wenn keine Übereinstimmung vorliegt, wird die Site 000-default.conf verwendet. Wenn eine Anfrage für bogussite.com angezeigt wird und diese nicht auf dem Server vorhanden ist, wird die Datei 000-default.conf bereitgestellt. Dies ist besonders nützlich für Anfragen, die nur IP-Adressen enthalten. Und wir alle hassen die !! Wenn jedoch in example.com.conf ein Fehler auftritt, ist es dennoch möglich, dass die 000-default.conf-Site bedient wird, was genau erklärt, warum und wie die Konfiguration etwas verwirrend und sehr frustrierend ist.

Ich habe hier einige Beispielkonfigurationen von einem Live-Server angegeben: Virtualhost-Konfiguration: Routing und Verwendung von Platzhaltern

Push kommt zum schieben, diese sollten 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, einen Blick darauf zu werfen, seien Sie also vorsichtig. Wir haben es alle geschafft, damit Sie nicht alleine sind.

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

Sie können die Konfiguration jederzeit in einer Shell-Sitzung überprüfen, indem Sie ...

$ apachectl configtest

... was bei der Behebung von Problemen helfen sollte.

Sie müssen Ihre neue (n)/zusätzliche (n) Site (s) in Ihrem /etc/Apache2/site-available/ -Verzeichnis mit einem ähnlichen Dateiformat wie example.com.conf erstellen. Sie sollten auch sicherstellen, dass /etc/Apache2/Apache2.confInclude sites-enabled/ oder etwas Ähnliches wie eine der letzten Zeilen enthält.

Wenn eine Änderung an einer Konfigurationsdatei vorgenommen wird, muss Apache neu gestartet werden. Apache speichert Konfigurationen im Speicher und Änderungen werden erst nach einem Neustart angezeigt. In seltenen Fällen funktioniert ein Neustart nicht wie erwartet. Um dies als Problem auszuschließen, müssen Sie in diesem Fall Ihren Server neu starten. Es ist sehr wahrscheinlich, dass beim Neustart keine gültigen Konfigurationen angezeigt werden. Nicht sicher warum. Bei einem Neustart muss Apache die Konfigurationsdateien jedoch neu zwischenspeichern. Es ist wie ein größerer Hammer. Lohnt sich manchmal einen Versuch.

9
closetnoc

Ich stimme dem Benutzer "closetnoc" zu, der am [2015-Aug-2 00: 24: 36Z] auf den ursprünglichen Beitrag "The 000-default.conf site" geantwortet hat habe eine Konfigurationsdatei für ".

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' immer noch zu aktivieren, aber die Konfiguration etwas anders zu gestalten, sodass ständig gelöscht wird ALLE Anfragen OHNE Antwort senden und dann sofort die Verbindung für alle verbotenen Zugriffe schließen, damit dem versuchenden Anforderer nichts beantwortet/aufgedeckt wird.

Hier ist meine '000-default.conf' Datei als Referenz:

<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, das Modul "ModSecurity" zu installieren, damit die Anweisungen "SecRuleEngine" und "SecRule" akzeptiert werden können. Wenn Sie zusätzliche Hilfe und Hinweise zum Thema "ModSecurity" benötigen, schlagen Sie vor, im Internet zu suchen.

Hoffe obiges hilft!

2
kman