Apache- en Nginx-instellingen

Standaard gebruikt Plesk de Apache-webserver (http://nl.wikipedia.org/wiki/Apache_HTTP_Server) om de pagina’s van uw website door te geven aan de clients (de browsers die bezoekers gebruikers om uw website te bekijken). Voor betere prestaties wordt Apache aangevuld met een tweede webserver - nginx. U hebt ook de optie om alleen nginx te gebruiken.

De Standaardinstellingen van de webserver worden opgegeven door de serverbeheerder (hostingprovider) Deze instellingen bepalen hoe webservers verschillende soorten bestanden verwerken, hoe ze SSL/TLS gebruiken, waar ze logbestanden opslaan, enzovoorts.

U kunt als houder van een website echter aangepaste webserver-instellingen voor uw website instellen. Zo kunt u bijvoorbeeld een type indexbestand toevoegen, de toegang tot de site beperken, enzovoort.

Notitie

U kunt de webserver-instellingen voor uw websites aanpassen als uw hostingabonnement hier de rechten toe bevat.

Apache- en Nginx-instellingen aanpassen

Apache en nginx beschikken over bepaalde eigenschappen die u kunt aanpassen op het niveau van het domein. Deze vindt u onder Websites & domeinen > domeinnaam >  Apache- & nginx-instellingen. Deze instellingen zijn onderverdeeld in twee groepen:

  • Algemene Apache-instellingen

  • nginx-instellingen

    image-78630.png

MIME-typen

MIME-typen koppelen bestandextensies aan bestandstypen om webbrowsers instructies te kunnen geven over hoe ze met bepaalde bestandstypen moeten omgaan. Bijvoorbeeld: het volgende MIME-type

text/plain .txt

geeft de browser de opdracht alle .txt-bestanden te behandelen als platte tekst. Standaard zijn de meest gebruikelijke MIME-typen al vooraf ingesteld. Als u echter tegen het probleem aanloopt dat pagina’s van uw website niet op de juiste manier worden verwerkt door de webbrowser omdat u bestanden gebruikt met niet-standaard extensies, dan moet u een of meer aangepaste MIME-typen instellen.

Aangepaste MIME-typen instellen:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen.
  2. Onder MIME-typen selecteert u het keuzerondje Aangepaste waarde invoeren.
  3. Geef de MIME-typen op die u wilt aanpassen of verwijderen en klik op OK.

Apache-handlers configureren

Apache-handlers geven de webserver instructies hoe bestanden met specifieke extensies verwerkt moeten worden. Bijvoorbeeld: de volgende handeler

cgi-script .cgi

geef de instructie aan de webserver om alle .cgi-bestanden te beschouwen als cgi-scripts. Standaard zijn handlers voor bestanden met gebruikelijke extensies al vooraf ingesteld. Als u echter wilt wijzigen welke handler wordt gebruikt voor het verwerken van bestanden met een specifieke extensie, dan moet u een of meer aangepaste handlers instellen.

Aangepaste handlers instellen:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen.
  2. Onder Handlers selecteert u het keuzerondje Aangepaste waarde invoeren.
  3. Geef de handlers op die u wilt aanpassen of verwijderen en klik op OK.

Toegang tot uw website blokkeren

U kunt voorkomen dat specifieke bezoekers toegang krijgen tot uw website. U kunt de toegang blokkeren voor:

  • Individuele IP-adressen (bijvoorbeeld 192.168.1.110)
  • Subnets van IP-adressen (bijvoorbeeld 127.0.0.1/8)
  • Specifieke hostnamen (bijvoorbeeld voorbeeld.nl)
  • Iedereen (door een asterisk “*” te gebruiken)

Bezoekers die zijn geblokkeerd zullen de foutmelding “403 Forbidden” ontvangen wanneer zij proberen uw website op te vragen.

Toegang tot uw website instellen:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen.
  2. Onder Toegang tot de site weigeren selecteert u het keuzerondje Aangepaste waarde invoeren.
  3. Geef de gewenste IP-adressen, subnets of hostnamen op of verwijder deze.
  4. Wanneer u een subnet blokkeert maar u wilt een of meer IP-adressen binnen het subnet wel toegang tot uw website geven, geef deze dan op in het veld Exclusief.
  5. Klik op OK.

Index-bestanden instellen

Wanneer een bezoeker van uw website een URL opvraagt die leidt naar een map in plaats van naar een specifiek bestand (zoals www.voorbeeld.nl of www.voorbeeld.nl/voorbeeld in plaats van www.voorbeeld.nl/index.html), dan zoekt Apache naar een index-bestand om weer te geven. Apache zoekt standaard naar de volgende bestanden (in de opgegeven volgorde):

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

Als alle zeven bestanden in de map aanwezig zouden zijn, dan zou een bezoeker die de map opvraagt het bestand index.html te zien krijgen. Als index.html zou ontbreken, dan zou Apache het bestand index.cgi weergeven, enzovoorts. Als er geen geschikt index-bestand wordt gevonden, dan wordt standaard de foutmelding “403 Forbidden” weergegeven.

Plesk stelt u in staat om aan te passen welke index-bestanden Apache moet weergeven wanneer een bezoeker een map van uw website opvraagt:

  • U kunt de volgorde aanpassen waarin Apache zoekt naar index-bestanden (u wilt wellicht dat het bestand index.php standaard wordt weergegeven in plaats van index.html).
  • U kunt namen van index-bestanden aan de lijst toevoegen, of namen verwijderen. Als de standaardpagina van uw website bijvoorbeeld hello.php is, dan kunt u ervoor zorgen dat Apache deze standaard weergeeft.

De index-bestanden configureren:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen.
  2. Onder Index-bestanden selecteert u het keuzerondje Aangepaste waarde invoeren.
  3. Geef de namen op van de gewenste index-bestanden in de volgorde waarop u wilt dat Apache deze moet weergeven en klik op OK. U kunt ook namen verwijderen.

De header “Expires” instellen

De Apache-header expires bepaalt hoe lang webbrowsers opgeslagen kopiëren van uw webbestanden moeten bewaren voordat ze deze opnieuw van de server moeten opvragen. Het instellen van deze header kan de belasting van uw server verlagen en uw website sneller maken.

U kunt de periode bijvoorbeeld instellen op 10 dagen. Een bezoeker bezoekt uw website en vraagt de pagina index.html op. De browser van de bezoeker slaat een kopie van de pagina op in de cache en voor de volgende 10 dagen laat wordt deze getoond wanneer de bezoeker uw website bezoekt. Als de pagina op dag 11 nogmaals wordt opgevraagd, dan vraagt de browser de pagina opnieuw op van de server omdat de versie die in de cache is opgeslagen is verlopen.

Bij het instellen van de header expires voor websites met dynamische content raden wij aan de optie alleen een antwoord met Expires-headers versturen voor statische bestanden  te gebruiken. Anders zullen alle bestanden, inclusief dynamische content, automatisch in de cache van de browser van de bezoeker worden opgeslagen voor de duur van de verloopperiode. Dat is waarschijnlijk niet de bedoeling, omdat dynamische content doorgaans geregeld wordt vernieuwd.

De header “Expires” configureren:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen.
  2. Onder Expires selecteert u het keuzerondje Aangepaste waarde invoeren.
  3. Geef de gewenste geldigheidsduur op - de aanbevolen lengte van de verloopperiode is 14 dagen.
  4. Als uw website gebruik maakt van dynamische content, zorg er dan voor dat het selectievakje alleen een antwoord met Expires-headers versturen voor statische bestanden is geselecteerd.
  5. Klik op OK.

Notitie

Als nginx is ingeschakeld, let er dan op dat alleen bestanden die door Apache worden verstuurd beschikken over de expires-header. Als het selectievakje Slimme verwerking van statische bestanden is geselecteerd, dan bepalen de standaardconfiguratie van Apache en nginx welke bestanden als statisch worden beschouwd. Als het selectievakje Statische bestanden rechtstreeks door nginx laten afleveren is geselecteerd en er zijn bestandsextensies opgegeven, dan verwerkt nginx alleen de bestanden met de opgegeven extensies.

Aanvullende headers configureren

U kunt extra headers aan HTTP-antwoorden toevoegen aan de hand van het volgende patroon:

Naam : Waarde

HTTP-antwoordheaders bevatten informatie over de opgevraagde pagina die webbrowsers instructies geven bepaalde acties uit te voeren. De volgende header bijvoorbeeld beschermt de bezoekers van uw website tegen clickjacking:

X-Frame-Options: DENY

Aanvullende headers instellen:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen.
  2. Onder Aanvullende headers selecteert u het keuzerondje Aangepaste waarde invoeren.
  3. Geef de headers op die u wilt aanpassen of verwijderen en klik op OK.

Hosting met alleen nginx

Met Plesk voor Linux kunt u websites hosten met een combinatie van nginx en PHP-FPM. In dit geval worden aanvragen voor websites niet doorgestuurd naar Apache maar worden ze door nginx uitgevoerd. Hosting met alleen nginx is een solide optie voor PHP-websites, maar het is ook zeer geschikt voor het hosten van statische websites en applicatie-servers. U kunt individuele websites instellen om alleen door nginx te worden verwerkt zonder dat u Apache hoeft te stoppen of uit te schakelen. Dit heeft geen enkele invloed op websites die Apache wel gebruiken.

Notitie

De diensten van Plesk (zoals Webmail) blijven gewoon gebruikmaken van Apache en worden niet beïnvloed door een overschakeling naar hosting met alleen nginx.

Hosting met alleen nginx in- of uitschakelen voor een domain:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen.
  2. In de sectie nginx-instellingen haalt u het selectievakje weg voor Proxy-modus .
  3. Klik op Toepassen.

Om een domein opnieuw door Apache en nginx te laten verwerken selecteert u het selectievakje Proxy-modus.

Bekende beperkingen

Als u een domein instelt op hosting door alleen nginx dan brengt dit bepaalde beperkingen met zich mee:

  • Het delen van bestanden is niet langer beschikbaar
  • De ondersteuning voor SSI, Perl en Python is niet langer beschikbaar.
  • U kunt alleen de PHP-handler “FPM applicatie-server door nginx” gebruiken.

Het verwerken van statische bestanden instellen

Op Plesk voor Linux-servers werken nginx en Apache standaard hand-in-hand, waarbij Apache alle dynamische content verzorgt en nginx gebruikt wordt als proxy voor het verzenden van statische bestanden. Deze opstelling is optimaal voor het gebruik van de server en stelt Plesk in staat om de gehoste websites zo snel mogelijk af te leveren. Met Plesk kunt u echter zelf bepalen hoe u wilt dat statische bestanden voor uw websites worden afgehandeld.

Alle statische content versturen via nginx

Dit is de standaard manier waarop Plesk voor Linux is ingesteld. Wanneer er een verzoek voor statische content binnenkomt, dan geeft Apache alleen aan waar het bestand zich bevindt, maar is het nginx die het bestand opzoekt en aflevert.

Alle statische content versturen via nginx:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen en scroll omlaag tot u de sectie “nginx-instellingen” bereikt.
  2. Selecteer de selectievakjes Proxy-modus en Slimme verwerking van statische bestanden.
  3. Zorg ervoor dat het selectievakje Statische bestanden rechtstreeks door nginx laten afleveren niet is geselecteerd.
  4. Klik op OK.

Alleen bestanden met specifieke extensies via nginx laten afleveren

U kunt ervoor kiezen om alleen bestanden met specifieke extensies door nginx als statische bestanden te laten afleveren. Andere bestanden die normaal als statische content worden geclassificeerd worden dan alsnog via Apache verwerkt. Het is belangrijk op te merken dat in dit scenario aanvragen voor bestanden met de specifieke extensies Apache nooit zullen bereiken. Bijgevolg worden ze ook niet door de Apache-handlers gezien. Dit betekent bijvoorbeeld dat rewrite-regels of .htaccess-opdrachten niet worden toegepast.

Alleen specifieke statische content versturen via nginx:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen en scroll omlaag tot u de sectie “nginx-instellingen” bereikt.
  2. Selecteer de selectievakjes Proxy-modus en Statische bestanden rechtstreeks door nginx laten afleveren.
  3. Bepaalde statische bestanden zijn al vooraf ingesteld in het vak Statische bestanden rechtstreeks door nginx laten afleveren. U kunt zelf extensies toevoegen of verwijderen. U kunt individuele extensies scheiden met een spatie of het teken “|” (pijplijn).
  4. Klik op OK.

Notitie

Het inschakelen van de optie “Statische bestanden rechtstreeks door nginx laten afleveren” schakelt automatisch de standaardmodus “Slimme verwerking van statische bestanden” uit, zelfs als het selectievakje daarvoor geselecteerd blijft.

Alle statische en dynamische content via Apache versturen

Als u wilt kunt u nginx uitschakelen en Apache instellen om alle bestanden af te leveren, statisch en dynamisch. Dit kan nuttig zijn in specifieke gevallen, bijvoorbeeld voor het oplossen van problemen met nginx. Voor productiewebsites raden wij niet aan om Apache alle bestanden te laten verwerken.

Alle statische en dynamische content via Apache versturen:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen en scroll omlaag tot u de sectie “nginx-instellingen” bereikt.
  2. Selecteer het selectievakje Proxy-modus.
  3. Zorg dat de selectievakjes Slimme verwerking van statische bestanden  en Statische bestanden rechtstreeks door nginx laten afleveren  niet zijn geselecteerd.
  4. Klik op OK.

nginx-caching inschakelen

Door nginx-caching in te schakelen kan de nginx-proxyserver bepaalde dynamische content van websites cachen. Deze data wordt dan opgeslagen voor een korte periode (doorgaans niet meer dan enkele seconden). Dit kan laadtijd van de website versnellen en de belasting van de server verminderen.

Het inschakelen van nginx-caching is alleen aan te bevelen voor websites met een specifiek profiel, zoals populaire blogs en nieuwssites:

  • Veel dataverkeer.
  • De inhoud wordt om de paar seconden vernieuwd.

Het inschakelen van nginx-caching is nutteloos of zelfs schadelijk voor websites met het volgende profiel:

  • Gemiddeld of weinig dataverkeer.
  • De inhoud wordt minder vaak bijgewerkt dan elke paar seconden.
  • Er wordt gebruik gemaakt van gepersonaliseerde content (denk bijvoorbeeld aan de geografische locatie van de gebruiker of de inhoud van hun winkelwagen).

Nginx-caching inschakelen:

  1. Ga naar Websites & domeinen > Apache- & nginx-instellingen.
  2. Selecteer in de sectie “Nginx settings” het selectievakje “Nginx-caching inschakelen”.
  3. (Optioneel) U kunt de instellingen van nginx-caching aanpassen. Als u niet bekend bent met nginx-caching, dan raden wij u aan de standaardinstellingen te behouden. Het verkeerd configureren van deze instellingen kan de website en de prestaties van de server hinderen.
  4. Klik op OK.

Instellingen nginx-caching

De instellingen voor nginx-caching die in Plesk worden getoond komen overeen met nginx-opdrachten en bepaalde records in het nginx-configuratiebestand. U vind de details in de tabel hieronder.

De instellingen voor nginx-microcaching die worden weergegeven in de Plesk GUI De bijbehorende nginx-opdracht De bijbehorende nginx-parameter (indien relevant)
“Cache size“ proxy_cache_path max_size
“Cache timeout“ proxy_cache_valid  
“Cache key“ proxy_cache_key  
“Cache requests with cookies“ Opgegeven in het configuratiebestand van nginx  
“Disable caching for locations“ Opgegeven in het configuratiebestand van nginx  
“Bypass cache when” proxy_cache_bypass  
“Return stale cached records” proxy_cache_use_stale  

Notitie

Voor websites die nginx gebruiken samen met de PHP-FPM-handler, worden opdrachten met proxy_cache* vervangen door fastcgi_cache*. De instelling “Cache key“ wordt bijvoorbeeld aangestuurd met de opdracht fastcgi_cache_key in plaats van proxy_cache_key.

De instelling “Cache requests with cookies“

Standaard gebruikt nginx geen cache voor http-verzoeken die de header  Cookie HTTP  bevatten. U kunt deze aanpak wijzigen en nginx http-verzoeken laten opslaan in de cache wanneer deze bepaalde cookies bevatten door de naam van deze cookies op te geven in het veld “Cache requests with cookies”. Wanneer u bijvoorbeeld de cookie-namen _ga en _gid opgeeft, dan zal nginx alleen http-verzoeken in de cache opslaan wanneer de cookie-headers _ga of _gid bevatten. Nginx zal geen http-verzoeken in de cache opslaan met cookie-headers, waarbij de naam van ten minste één cookie niet in het veld is opgegeven.

image-79199.png

Instelling “Disable caching for locations“

U kunt de belasting van de server verminderen door nginx in te stellen om bepaalde webbestanden niet in de cache op te nemen (bijvoorbeeld dynamische content die niet vaak wordt bekeken). Om dit te doen geeft u de gewenste $request_uri op het in het veld “Disable caching for locations”. Als u bijvoorbeeld /wp-admin/ opgeeft, dan zal nginx geen bestanden in de cache opslaan die horen bij het beheersysteem van WordPress.

image-79201.png

Notitie

Als u meerdere waarden wilt opgeven onder “Cache requests with cookies“ en “Disable caching for locations“, geef dan elke waarde een eigen regel.

De standaardwaarde van server-instellingen

U kunt de waarde van elke parameter instellen door ofwel een aangepaste waarde op te geven, of door de Standaardwaarde te laten staan. In dit laatste geval zal Plesk de waarden gebruiken uit de standaard webserverconfiguratie die door de serverbeheer (hostingprovider) is ingesteld.

Uw waarden zullen in de plaats komen van de standaardwaarden. Deze enige uitzondering is de instelling Toegang tot de site weigeren - IP-adressen uit de standaardconfiguratie als ook de IP-adressen die u opgeeft zullen op uw website worden toegepast. Als er een conflict is (bijvoorbeeld omdat u een IP-adres toegang geeft waarvoor in de standaardconfiguratie de toegang juist wordt geweigerd), dan maakt Apache gebruik van uw instellingen.