Plesk maakt standaard gebruik van de Apache webserver (http://en.wikipedia.org/wiki/Apache_HTTP_Server) voor het versturen van de pagina's van uw website aan cliënten (zoals de browser waarmee een bezoeker uw website bekijkt). Om de prestaties te verbeteren wordt Apache aangevuld met een andere webserver - nginx. U hebt ook de optie om alleen nginx te gebruiken.
De standaardinstellingen van de webserver worden opgegeven door de beheerder van de server (hostingprovider). Deze instellingen bepalen hoe webservers verschillende soorten bestanden verwerken, hoe ze gebruik maken van SSL/TLS, waar logbestanden worden opgeslagen, enzovoorts.
U kunt echter, als eigenaar van de website, aangepaste webserver-instellingen voor uw website opgeven. Zo kunt u bijvoorbeeld het type index-bestand bepalen, de toegang tot de site beperken, enzovoorts.
Opmerking: U kunt webserver-instellingen voor uw websites aanpassen als uw hostingabonnement u daartoe het recht geeft.
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:
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:
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:
U kunt voorkomen dat specifieke bezoekers toegang krijgen tot uw website. U kunt de toegang blokkeren voor:
192.168.1.110
)127.0.0.1/8
)voorbeeld.nl
)*
" 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:
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):
index.html
index.cgi
index.pl
index.php
index.xhtml
index.htm
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:
index.php
standaard wordt weergegeven in plaats van index.html
).hello.php
is, dan kunt u ervoor zorgen dat Apache deze standaard weergeeft.De index-bestanden configureren:
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:
Opmerking: 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.
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:
Apache is standaard toegestaan symbolische links te volgen. Als uw website geen gebruik maakt van symbolische links, dan raden wij aan deze optie te schakelen omdat dit een klein beveiligingsrisico met zich meebrengt.
Apache verbieden symbolische links te volgen:
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.
Opmerking: 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:
Om een domein opnieuw door Apache en nginx te laten verwerken selecteert u het selectievakje Proxy-modus.
Als u een domein instelt op hosting door alleen nginx dan brengt dit bepaalde beperkingen met zich mee:
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.
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:
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:
Opmerking: 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.
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:
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:
Het inschakelen van nginx-caching is nutteloos of zelfs schadelijk voor websites met het volgende profiel:
Nginx-caching inschakelen:
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“ |
|
|
“Cache timeout“ |
|
|
“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” |
|
|
“Return stale cached records” |
|
Opmerking: 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
.
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.
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.
Opmerking: Als u meerdere waarden wilt opgeven onder “Cache requests with cookies“ en “Disable caching for locations“, geef dan elke waarde een eigen regel.
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.