Einstellungen für Apache und nginx

Plesk verwendet standardmäßig den Apache Webserver (https://de.wikipedia.org/wiki/Apache_HTTP_Server), um die Seiten Ihrer Website an Clients zu senden (z. B. an Browser, über die Besucher auf Ihre Website zugreifen). Um eine bessere Leistung zu erreichen, wird Apache durch einen weiteren Webserver ergänzt: nginx. Sie können auch ausschließlich nginx verwenden.

Die Standard-Webserver-Einstellungen werden vom Serveradministrator (Hosting-Provider) angegeben. Zum Beispiel kann in diesen Einstellungen festgelegt werden, wie Webserver verschiedene Dateitypen verarbeiten, wie SSL/TLS verwendet wird oder wo Protokolldateien gespeichert werden.

Dennoch können Sie (als Website-Betreiber) benutzerdefinierte Webserver-Einstellungen für Ihre Website einrichten. So können Sie beispielsweise einen Indexdateityp hinzufügen, den Zugriff auf die Website einschränken usw.

Bemerkung

Sie können die Webserver-Einstellungen für Ihre Website anpassen, wenn Ihr Hosting-Abonnement die entsprechende Berechtigung gewährt.

Anpassen der Einstellungen für Apache und nginx

Bestimmte Einstellungen für Apache und nginx können auf Domainebene angepasst werden. Sie finden Sie unter Websites & Domains > Domainname >  Einstellungen für Apache & nginx. Die Einstellungen sind in zwei Gruppen unterteilt:

  • Allgemeine Apache-Einstellungen

  • Einstellungen für nginx

    image-78630.png

Konfigurieren der MIME-Typen

Mit MIME-Typen werden Dateierweiterungen mit Dateitypen abgestimmt und Browser informiert, wie bestimmte Dateitypen gehandhabt werden sollen. Mit dem MIME-Typ

text/plain .txt

wird der Browser angewiesen, alle Dateien mit der Endung .txt als Nur-Text zu behandeln. Die meisten häufig verwendeten MIME-Typen sind in der Regel schon vorkonfiguriert. Wenn Sie jedoch merken, dass die Seiten Ihrer Website nicht ordnungsgemäß von einem Webbrowser verarbeitet werden können, weil Sie nicht standardmäßige Dateierweiterungen verwenden, konfigurieren Sie einen oder mehrere personalisierte MIME-Typen.

So konfigurieren Sie personalisierte MIME-Typen:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx.
  2. Wählen Sie unter MIME-Typen das Optionsfeld Eigenen Wert eingeben aus.
  3. Geben Sie die gewünschten MIME-Typen ein oder löschen Sie nicht erwünschte Typen. Klicken Sie dann auf OK.

Konfigurieren von Apache-Handlern

Mit Apache-Handler kann festgelegt werden, wie Dateien mit bestimmten Erweiterungen im Webserver verarbeitet werden. Mit dem Handler

cgi-script .cgi

wird dem Webserver signalisiert, dass alle Dateien mit der Dateierweiterung .cgi als CGI-Skripte gehandhabt werden sollen. In der Regel sind Handler für Dateien mit häufig verwendeten Erweiterungen bereits vorkonfiguriert. Wenn Sie jedoch ändern möchten, welcher Handler für die Verarbeitung einer bestimmten Erweiterung verwendet wird, müssen Sie einen oder mehrere Handler manuell konfigurieren.

So konfigurieren Sie personalisierte Handler:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx.
  2. Wählen Sie unter Handler das Optionsfeld Eigenen Wert eingeben aus.
  3. Geben Sie die gewünschten Handler ein oder löschen Sie nicht erwünschte Handler. Klicken Sie dann auf OK.

Einschränken des Zugriffs auf die Website

Sie können verhindern, dass bestimmte Nutzer auf Ihre Website zugreifen. Dabei haben Sie folgende Möglichkeiten zum Blockieren des Zugriffs:

  • Individuelle IP-Adresse (zum Beispiel 192.168.1.110)
  • IP-Adressensubnetz (zum Beispiel 127.0.0.1/8)
  • Bestimmte Hostnamen (zum Beispiel example.com)
  • Alle (indem Sie das Zeichen „*“ verwenden)

Blockierte Nutzer erhalten die Fehlermeldung „403 Forbidden“, wenn sie versuchen, auf Ihre Website zuzugreifen.

So konfigurieren Sie den Zugriff auf Ihre Website:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx.
  2. Wählen Sie unter Zugriff auf Website verweigern das Optionsfeld Eigenen Wert eingeben aus.
  3. Geben Sie die IP-Adressen, Subnetze oder Hostnamen ein oder löschen Sie die Angaben.
  4. Wenn Sie ein Subnetz blockieren, jedoch einzelnen IP-Adressen darin den Zugriff auf die Website gestatten möchten, geben Sie diese im Feld Ausnahmen ein.
  5. Klicken Sie auf OK.

Konfigurieren von Indexdateien

Wenn ein Nutzer auf Ihrer Website ein Verzeichnis anstatt einer bestimmten Datei aufruft, zum Beispiel www.example.com oder www.example.com/beispiel anstatt www.example.com/index.html, wird in Apache nach einer Indexdatei gesucht. Standardmäßig wird dabei in der angegebenen Reihenfolge nach den folgenden Dateien gesucht:

  1. index.html
  2. index.cgi
  3. index.pl
  4. index.php
  5. index.xhtml
  6. index.htm
  7. index.shtml

Wenn alle sieben Dateien in einem Verzeichnis vorhanden sind, wird dem Nutzer die Datei index.html gezeigt. Falls index.html nicht vorhanden ist, wird nach der Datei index.cgi gesucht usw. Wenn keine passende Indexdatei gefunden wird, wird standardmäßig der Fehler „403 Forbidden“ angezeigt.

Sie können in Plesk anpassen, welche Indexdateien gesucht werden, wenn ein Nutzer auf Ihrer Website ein Verzeichnis aufruft:

  • Sie können die Reihenfolge ändern, mit der nach Indexdateien gesucht wird. So können Sie beispielsweise die Datei index.php statt index.html standardmäßig anzeigen.
  • Sie können Indexdateinamen zur Liste hinzufügen und daraus entfernen. Wenn die Standardseite Ihrer Website hello.php heißt, können Sie festlegen, dass diese standardmäßig von Apache ausgeliefert wird.

So konfigurieren Sie die Indexdateien:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx.
  2. Wählen Sie unter Indexdateien das Optionsfeld Eigenen Wert eingeben aus.
  3. Geben Sie den Namen der Indexdateien ein oder löschen Sie nicht gewünschte Namen. Legen Sie dabei außerdem die Reihenfolge fest, in der nach den Dateien gesucht werden soll. Klicken Sie dann auf OK.

Konfigurieren des Headers „Expires“

Über den Apache-Header expires wird festgelegt, wie lange Kopien Ihres Webinhalts in Webbrowsern zwischengespeichert werden, bevor eine neue Anfrage an den Server gesendet wird. Wenn Sie diesen Header konfigurieren, können Sie die Serverauslastung verringern und Ihre Website beschleunigen.

Beispiel: Sie legen eine Gültigkeitsdauer von 10 Tagen fest. Ein Nutzer besucht ihre Website und die Seite index.html wird angefordert. Im Webbrowser des Nutzers wird eine Kopie der Seite im Cache gespeichert. In den nächsten 10 Tagen wird dem Nutzer dann bei jedem Aufruf Ihrer Website die zwischengespeicherte Kopie angezeigt. Wenn die Seite am 11. Tag erneut aufgerufen wird, wird die Seite erneut vom Server abgefragt, da die im Cache gespeicherte Version abgelaufen ist.

Wenn Sie den Header expires für Websites konfigurieren, auf denen dynamischer Inhalt zu finden ist, empfehlen wir, die Option response with Expires headers for static files only (Antwort mit dem Header „Expires“ nur für statische Dateien) auszuwählen. Andernfalls wird der Inhalt, inklusive dynamischer Inhalt, für die Gültigkeitsdauer im Browsercache des Nutzers gespeichert. Dies ist nicht empfehlenswert, da dynamischer Inhalt in der Regel häufig aktualisiert wird.

So konfigurieren Sie den Header „Expires“:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx.
  2. Wählen Sie unter Expires (Ablaufdatum) das Optionsfeld Eigenen Wert eingeben aus.
  3. Geben Sie die gewünschte Gültigkeitsdauer an. Es wird ein Zeitraum von 14 Tagen empfohlen.
  4. Wenn Sie dynamischen Inhalt auf Ihrer Website anbieten, vergewissern Sie sich, dass das Kontrollkästchen response with Expires headers for static files only (Antwort mit dem Header „Expires“ nur für statische Dateien) ausgewählt ist.
  5. Klicken Sie auf OK.

Bemerkung

Wenn nginx aktiviert ist, haben nur die über Apache bereitgestellten Dateien den Header „Expires“. Wenn das Kontrollkästchen Intelligente Bearbeitung statischer Dateien angeklickt ist, wird über die Standardkonfiguration von Apache und nginx festgelegt, welche Dateien als statisch angesehen werden. Falls das Kontrollkästchen Statische Dateien direkt durch nginx bedienen angeklickt ist und Dateierweiterungen angegeben wurden, werden nur Dateien mit diesen Erweiterungen über nginx bereitgestellt.

Konfigurieren zusätzlicher Header

Sie können zusätzliche Header für HTTP-Antworten konfigurieren. Verwenden Sie dazu das folgende Muster:

Name: Wert

HTTP-Antwortheader enthalten Informationen zur angeforderten Seite, mit denen Webbrowser angeleitet werden, bestimmte Aktionen durchzuführen. Mit dem folgenden Header schützen Sie Besucher Ihrer Website vor Clickjacking:

X-Frame-Options: DENY

So konfigurieren Sie zusätzliche Header:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx.
  2. Wählen Sie unter Additional headers (Zusätzliche Header) das Optionsfeld Eigenen Wert eingeben aus.
  3. Geben Sie die gewünschten Header ein oder löschen Sie nicht erwünschte Header. Klicken Sie dann auf OK.

Hosting nur mit nginx

In Plesk für Linux können Sie Websites mit einer Kombination aus nginx und PHP-FPM hosten. In diesem Fall werden Anfragen für Websites nicht an Apache übergeben, sondern von nginx gehandhabt. Das Hosting nur mit nginx ist eine gute Option für PHP-Websites, aber es ist auch für das Hosting von statischen Websites und Anwendungsservern geeignet. Sie können festlegen, dass einzelne Websites nur über nginx gehandhabt werden, ohne dafür Apache anzuhalten oder zu deaktivieren. Websites, die über Apache gehostet werden, sind damit nicht betroffen.

Bemerkung

Plesk Dienste (z. B. Webmail) sind vom Hosting nur mit nginx nicht betroffen. Für sie wird weiterhin Apache eingesetzt.

So aktivieren/deaktivieren Sie das Hosting nur für nginx für eine Domain:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx.
  2. Deaktivieren Sie im Abschnitt Einstellungen für nginx das Kontrollkästchen Proxymodus.
  3. Klicken Sie auf Anwenden.

Um für eine Domain wieder Apache und nginx zu verwenden, aktivieren Sie das Kontrollkästchen Proxymodus.

Bekannte Einschränkungen

Wenn Sie für eine Domain das Hosting nur über nginx durchführen, bestehen gewisse Einschränkungen:

  • SSI, Perl und Python werden nicht unterstützt.
  • Sie können nur den PHP-Handler „FPM-Anwendung bedient von nginx“ verwenden.

Konfiguration für die Bearbeitung von statischen Dateien

Standardmäßig ergänzen sich nginx und Apache auf Plesk für Linux-Servern. Über Apache wird dynamischer Inhalt bereitgestellt und nginx dient als Proxy für statische Inhalte. Mit dieser Struktur können die Serverressourcen optimiert werden und es kann schneller auf Anfragen an gehostete Websites reagieren werden. In Plesk können Sie jedoch festlegen, wie statischer Inhalt für Ihre Website gehandhabt werden soll.

Statischen Inhalt nur über nginx bereitstellen

Dies ist die Standardeinstellung für Plesk für Linux. Wenn eine Anfrage für statischen Inhalt eingeht, wird in Apache nur auf den Speicherort der Datei hingewiesen. Die Datei selbst wird dann jedoch über nginx gesucht und ausgeliefert.

So wird statischer Inhalt nur über nginx bereitgestellt:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx und scrollen Sie nach unten zum Abschnitt „nginx-Einstellungen“.
  2. Klicken Sie die Kontrollkästchen Proxymodus und Intelligente Bearbeitung statischer Dateien an.
  3. Das Kontrollkästchen Statische Dateien direkt durch nginx bedienen sollte nicht ausgewählt werden.
  4. Klicken Sie auf OK.

Nur Dateien mit bestimmten Erweiterungen über nginx bereitstellen

Sie können festlegen, dass nur Dateien mit bestimmten Dateierweiterungen als statischer Inhalt über nginx ausgeliefert werden. Andere Dateien, die in der Regel als statischer Inhalt eingestuft werden, werden über Apache bereitgestellt. Beachten Sie hierbei jedoch, dass die Dateien mit den angegebenen Erweiterungen Apache nie erreichen. Diese Dateien durchlaufen also auch nicht die Apache-Handler. Dies bedeutet zum Beispiel, dass Rewrite-Regeln oder .htaccess-Anweisungen keine Anwendung finden.

So wird nur bestimmter statischer Inhalt über nginx bereitgestellt:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx und scrollen Sie nach unten zum Abschnitt „nginx-Einstellungen“.
  2. Klicken Sie die Kontrollkästchen Proxymodus und Statische Dateien direkt durch nginx bedienen an.
  3. Standardmäßig sind bestimmte Erweiterungen für statische Dateien bereits im Feld Statische Dateien direkt durch nginx bedienen angegeben. Sie können hier jedoch Erweiterungen entfernen oder andere hinzufügen. Trennen Sie einzelne Dateierweiterungen durch ein Leerzeichen oder das Zeichen „|“.
  4. Klicken Sie auf OK.

Bemerkung

Wenn Sie die Option „Statische Dateien direkt durch nginx bedienen“ aktivieren, wird automatisch der Standardmodus „Intelligente Bearbeitung statischer Dateien “ deaktiviert, auch wenn das entsprechende Kontrollkästchen ausgewählt ist.

Statischen und dynamischen Inhalt nur über Apache bereitstellen

Sie können nginx deaktivieren und festlegen, dass alle Inhalte (sowohl statische als auch dynamische) über Apache ausgeliefert werden. Dies ist zum Beispiel hilfreich, wenn Sie einen Fehler in nginx beheben möchten. In Produktionsumgebungen ist es nicht empfehlenswert, Inhalt komplett über Apache zu verarbeiten.

So stellen Sie statischen und dynamischen Inhalt nur über Apache bereit:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx und scrollen Sie nach unten zum Abschnitt „nginx-Einstellungen“.
  2. Klicken Sie das Kontrollkästchen Proxymodus an.
  3. Entfernen Sie das Häkchen bei Intelligente Bearbeitung statischer Dateien und Statische Dateien direkt durch nginx bedienen .
  4. Klicken Sie auf „OK“.

Aktivieren von nginx-Caching

Das Aktivieren von nginx-Caching ermöglicht es dem nginx-Proxy-Server, bestimmten dynamischen Website-Inhalt zwischenzuspeichern. Die zwischengespeicherten Daten bleiben für kurze Zeit gespeichert (normalerweise nur ein paar Sekunden). Dies kann dabei helfen, die Ladedauer der Website zu verkürzen und die Serverauslastung zu verringern.

Das Aktivieren von nginx-Caching ist nur für Websites mit einem spezifischen Profil empfohlen (beispielsweise beliebte Blogs oder Nachrichten-Websites):

  • Starker Datenverkehr.
  • Der Inhalt wird alle paar Sekunden aktualisiert.

Das Aktivieren von nginx-Caching kann für Websites mit folgendem Profil wirkungslos oder sogar schädlich sein:

  • Mäßiger oder schwacher Datenverkehr.
  • Der Inhalt wird ein paar mal in der Minute aktualisiert.
  • Personalisierter Inhalt wird verwendet (beispielsweise die geographische Lage des Besuchers oder der Inhalt seines Einkaufswagens).

So aktivieren Sie nginx-Caching:

  1. Gehen Sie zu Websites & Domains > Einstellungen für Apache & nginx.
  2. Wählen Sie im Bereich „nginx-Einstellungen“ das Kontrollkästchen „nginx-Caching aktivieren“ aus.
  3. (Optional) Sie können die Einstellungen für nginx-Caching personalisieren. Wenn Ihnen nginx-Caching nicht vertraut ist, wird empfohlen, die Standardeinstellungen beizubehalten. Falsches Konfigurieren dieser Einstellungen kann die Website- und Serverleistung beeinträchtigen.
  4. Klicken Sie auf OK.

Einstellungen für nginx-Caching

Einstellungen für nginx-Caching, die auf der Benutzeroberfläche von Plesk angezeigt werden, stimmen mit den Anweisungen für nginx und bestimmten Einträgen in der nginx-Konfigurationsdatei überein. Einzelheiten dazu finden Sie in der unten aufgeführten Tabelle.

Einstellung für nginx-Microcaching, angezeigt auf der Plesk Benutzeroberfläche Die zugehörige nginx-Anweisung Der zugehörige nginx-Parameter (falls vorhanden)
„Cache-Größe“ proxy_cache_path max_size
„Cache-Zeitlimit“ proxy_cache_valid  
„Cache-Schlüssel“ proxy_cache_key  
„Abfragen mit Cookies zwischenspeichern“ Festgelegt in der nginx-Konfigurationsdatei  
„Caching deaktivieren für Standorte“ Festgelegt in der nginx-Konfigurationsdatei  
„Cache umgehen, wenn“ proxy_cache_bypass  
„Überholte Cache-Einträge zurückgeben“ proxy_cache_use_stale  

Bemerkung

Für Websites, die nginx zusammen mit dem PHP-FPM-Handler verwenden, werden die Anweisungen proxy_cache* ersetzt mit fastcgi_cache*. Die Einstellung „Cache-Schlüssel“ wird beispielsweise von der Anweisung fastcgi_cache_key bestimmt, und nicht von proxy_cache_key.

Einstellung „Abfragen mit Cookies zwischenspeichern“

Standardmäßig speichert nginx keine HTTP-Abfragen, die den Cookie-HTTP-Header enthalten.   Sie können dieses Verhalten ändern und veranlassen, dass nginx HTTP-Abfragen mit bestimmten Cookies zwischenspeichert, wenn Sie die Namen der Cookies im Feld „Abfragen mit Cookies zwischenspeichern“ festlegen. Wenn Sie beispielsweise die Cookie-Namen _ga und _gid festlegen, kopiert nginx nur HTTP-Abfragen mit Cookie-Headers, die _ga oder _gid enthalten, in den Zwischenspeicher. Nginx kopiert keine HTTP-Abfragen in den Zwischenspeicher, deren Cookie-Header wenigstens einen Cookie-Namen enthalten, der nicht in dem Feld festgelegt ist.

image-79199.png

Einstellung „Caching deaktivieren für Standorte“

Sie können die Serverauslastung reduzieren, indem Sie nginx so konfigurieren, dass bestimmter Webinhalt (beispielsweise dynamischer Inhalt, der nicht oft aufgerufen wird) nicht in den Zwischenspeicher kopiert wird. Legen Sie dazu den gewünschten URI $request_uri im Feld „Caching deaktivieren für Standorte“ fest. Wenn Sie beispielsweise /wp-admin/ festlegen, wird nginx Inhalt, der sich auf das WordPress-Admin Panel bezieht, nicht zwischenspeichern.

image-79201.png

Bemerkung

Wenn Sie mehrere Werte in den Feldern „Abfragen mit Cookies zwischenspeichern“ und „Caching deaktivieren für Standorte“ festlegen möchten, geben Sie jeden in einer separaten Zeile an.

Löschen des nginx-Cache

Die Einstellung „Cache timeout“ in Plesk bestimmt, wie lange nginx Elemente im Cache abspeichert, bevor diese automatisch gelöscht werden. Um eine Website schneller laden zu können, lässt sich dieser Wert deutlich erhöhen (bis zu Stunden und Tagen). Das wirkt sich jedoch nachteilig aus, wenn Sie aktiv an der Entwicklung der Webseite arbeiten. Sie sollten die aktuelle Version der Webseite öfter und nach Bedarf abrufen. Um dies zu erreichen, ohne den Wert von „Cache timeout“ zu ändern, löschen Sie den Cache von nginx manuell.

So löschen Sie den Nginx-Cache einer Website:

  1. Rufen Sie Websites & Domains > Domain > die Registerkarte „Hosting & DNS“ > Apache & nginx Einstellungen auf.
  2. Klicken Sie im Abschnitt „nginx-Einstellungen“ unter der ausgewählten Option „nginx-Caching aktivieren“ auf Cache leeren.

Standardwert in Servereinstellungen

Sie können den Wert jedes Parameters einstellen, indem Sie entweder einen benutzerdefinierten Wert eingeben oder den Standardwert stehen lassen. Im letzten Fall verwendet Plesk die Werte aus der Standard-Webserver-Konfiguration, die von Ihrem Serveradministrator (Hosting-Provider) definiert wird.

Ihre Werte überschreiben die Standardwerte. Die einzige Ausnahme bildet die Einstellung Zugriff auf Website verweigern. Hier werden die IP-Adressen aus der Standardkonfiguration sowie die von Ihnen angegebenen IP-Adressen auf Ihre Website angewendet. Im Falle eines Konflikts (z. B. wenn Sie eine IP-Adresse zulassen, die in der Standardkonfiguration verweigert wird) werden Ihre Einstellungen verwendet.