Amazon CloudFront is een veilig en programmeerbaar content delivery network. Als je eenmaal je site bij Kinsta hebt gelanceerd, en je wilt Amazon CloudFront gebruiken in plaats van Kinsta’s CDN, dan laat deze gids zien hoe.

Enkele van de beveiligingsfeatures van CloudFront zijn versleuteling op veldniveau en bescherming tegen DDoS aanvallen op niveau van het netwerk en de applicatie.

Aangepast SSL certificaat aanvragen

Een deel van de configuratie van je Cloudfront distributie gaat over het instellen van een aangepast SSL certificaat. Omdat dit enkele minuten tot enkele uren kan duren, raden we aan om het aangepaste SSL certificaat aan te vragen voordat je begint met het maken van een nieuwe distributie.

Als je nog geen AWS account hebt, kun je er hier een maken. Nadat je bent ingelogd op je AWS account, zoek je naar “certificate manager” met behulp van het zoekvak in de menubalk en klik je op Certificate Manager onder Services.

Klik op Certificate Manager onder Services in je CloudFront account.
Klik op Certificate Manager onder Services in je CloudFront account.

Klik in Certificate Manager op de Request a certificate knop.

Klik op de Request a certificate knop in AWS Certificate Manager.
Klik op de Request a certificate knop in AWS Certificate Manager.

Selecteer op de volgende pagina Request a public certificate en klik op de Request a certificate knop.

Selecteer Request a public certificate en klik op de Request a certificate knop.
Selecteer Request a public certificate en klik op de Request a certificate knop.

Domeinnamen toevoegen

Voeg in het Request a certificate formulier je eigen domein (het primaire domein van je site bij Kinsta) toe aan de domeinnaamlijst (als je een hoofddomein toevoegt, zorg er dan voor dat je zowel het niet-www als www domein toevoegt of voeg het wildcard domein toe zoals *.voorbeeld.com), en klik op Next.

Voeg je aangepaste domein toe aan de SSL certificaataanvraag in AWS Certificate Manager.
Voeg je aangepaste domein toe aan de SSL certificaataanvraag in AWS Certificate Manager.

Domeinvalidatie

Op het volgende scherm kies je e-mail of DNS validatie voor je SSL certificaat. Kies de optie die het beste bij jou past.

Als je domeinregistratie geen privacybescherming heeft die je contactgegevens verbergt voor WHOIS zoekopdrachten, of als e-mail die naar het proxy e-mailadres wordt verzonden, wordt doorgestuurd naar je echte e-mailadres, kun je de e-mailvalidatiemethode gebruiken om je certificaatverzoek te valideren.

Als je geen e-mails kunt ontvangen op het e-mailadres dat wordt weergegeven in WHOIS zoekopdrachten, moet je de DNS validatiemethode gebruiken.

E-mailvalidatie

Selecteer Email validation en klik op de Next knop om de e-mailvalidatie te starten.

Start e-mailvalidatie voor AWS SSL certificaat.
Start e-mailvalidatie voor AWS SSL certificaat.

Je ontvangt maximaal 8 e-mails voor elk domein dat je aan het certificaat hebt toegevoegd, en je moet ten minste één e-mail voor elk domein verwerken om de validatie te voltooien.

DNS validatie

Om deze methode te gebruiken, selecteer je de DNS validatiemethode en klik je op de Next knop.

Amazon Certificate Manager DNS validatie voor SSL certificaat.
Amazon Certificate Manager DNS validatie voor SSL certificaat.

Op de Add tags pagina kun je indien nodig enkele optionele tags toevoegen en klik op Review om door te gaan naar de volgende stap.

Review het SSL certificaatverzoek.
Review het SSL certificaatverzoek.

Klik op de Review pagina op de Confirm and request knop om door te gaan naar de validatiestap.

Bevestig SSL certificaatverzoek.
Bevestig SSL certificaatverzoek.

Klik op de volgende pagina op het pijlpictogram naast je aangepaste domeinnaam om de CNAME details voor validatie te bekijken. Met deze gegevens moet je een CNAME record voor je aangepaste domein maken.

CNAME recorddetails voor domeinvalidatie.
CNAME recorddetails voor domeinvalidatie.

Om dit nieuwe CNAME record toe te voegen, log je in waar je de DNS van je domein beheert. Voor dit voorbeeld laten we je zien hoe je het CNAME record toevoegt in Kinsta’s DNS. Als je een andere DNS provider hebt (dit kan je registrar of een andere DNS host zijn, afhankelijk van waar je de naamservers van je domein naartoe hebt verwezen), kunnen de stappen een beetje anders zijn.

  1. Klik op DNS in de linkerzijbalknavigatie in MyKinsta.
  2. Klik op de Beheren link voor het domein waaraan je een DNS record wilt toevoegen.
  3. Klik op de Een DNS-record toevoegen
  4. Klik op het CNAME tabblad en voeg de Hostname toe (alles vóór je aangepaste domein in het Name veld van CloudFront) en Verwijst naar (Waarde van CloudFront). Klik op de Een DNS-record toevoegen knop om je nieuwe CNAME record op te slaan.

Opmerking: afhankelijk van de TTL instelling van je DNS record kan het enkele minuten tot uren duren voordat de DNS record is gepropageerd.

Voeg een CNAME record toe voor AWS SSL validatie.
Voeg een CNAME record toe voor AWS SSL validatie.

Ga terug naar de CloudFront validatiepagina en klik op Continue.

Ga door met DNS validatie.
Ga door met DNS validatie.

Zodra het CNAME record zich gepropageerd heeft en gevalideerd is, verandert de status van het SSL certificaat van Pending in Issued.

SSL certificaat uitgegeven in Amazon Certificate Manager.
SSL certificaat uitgegeven in Amazon Certificate Manager.

Je nieuwe SSL certificaat is klaar om te worden gebruikt met je nieuwe CloudFront distributie en je kunt nu beginnen met het instellen ervan.

CloudFront Zone configureren en implementeren

De volgende stap is het configureren en implementeren van een CloudFront zone. Zoek in je AWS account naar “CloudFront” met behulp van het zoekvak in de menubalk en klik op CloudFront onder Services.

Selecteer CloudFront onder Services in AWS.
Selecteer CloudFront onder Services in AWS.

Klik vervolgens op Create a CloudFront distribution.

Maak een CloudFront distributie.
Maak een CloudFront distributie.

Je kunt de details voor een nieuwe CloudFront zone configureren op de Create Distribution pagina. We raden de onderstaande configuratie aan voor maximale compatibiliteit met Kinsta’s Cloudflare integratie.

Origin

Aanbevolen Origin instellingen:

  • Origin Domain:  het kinsta.cloud domein van je site (in ons voorbeeld hier: myawewsomesite.kinsta.cloud). CloudFront accepteert geen IP adres als origin, dus je moet het kinsta.cloud domein van je site in dit veld gebruiken.
    De volgende 3 velden verschijnen zodra je je origin domein invoert:

    • Protocol: HTTPS only
    • HTTPS Port: 443
    • Minimum Origin SSL Protocol: TLSv1
  • Origin path: laat dit leeg.
  • Name (optioneel): Je kunt hier een aangepaste naam voor de origin invoeren, maar dit is niet verplicht.
  • Enable Origin Shield: No.
Aanbevolen Origin instellingen voor CloudFront distributie.
Aanbevolen Origin instellingen voor CloudFront distributie.

Standaard cachegedrag

Tijdens het configureren van de instellingen voor cachegedrag, moet je twee CloudFront policyregels maken: cache policy en request policy, die we hieronder voor je hebben uiteengezet.

Aanbevolen instellingen voor het Default Cache Behavior gedeelte:

  • Path Pattern: Default.
  • Compress Objects Automatically: Yes.
  • Viewer Protocol Policy: Redirect HTTP to HTTPS.
  • Allowed HTTP Methods: GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE.
  • Restrict Viewer Access: No.
  • Cache key and origin requests: Cache policy and origin request policy.
    • Cache Policy: selecteer je nieuwe aangepaste cachebeleid (zie de stappen om hieronder te maken).
    • Origin request policy: selecteer je nieuwe aangepaste origin verzoekbeleid (zie de stappen om hieronder te maken).
Aanbevolen instellingen voor cachegedrag voor CloudFront distributie.
Aanbevolen instellingen voor cachegedrag voor CloudFront distributie.

Zo maak je een CloudFront cache policy

Klik in het Cache policy gedeelte op Create policy. Hierdoor wordt de pagina voor het maken van cachebeleid geopend op een nieuw tabblad in je browser.

Maak een cache policy in CloudFront.
Maak een cache policy in CloudFront.

Geef in het Details gedeelte een naam op (bijv. KinstaCachePolicy) voor het cachebeleid.

Gebruik in het TTL Settings gedeelte de volgende instellingen:

  • Minimum TTL: 0
  • Maximum TTL: 31536000
  • Default TTL: 86400

Gebruik in het Cache key settings gedeelte de volgende instellingen:

  • Headers: None
  • Query Strings: All
  • Cookies: All

Vink in het Compression support gedeelte Gzip en Brotli aan en druk vervolgens op de Create knop.

Aanbevolen cache policy instellingen in CloudFront.
Aanbevolen cache policy instellingen in CloudFront.

Sluit dit browsertabblad en keer terug naar het tabblad waar je je nieuwe CloudFront distributie maakt.

Klik op de vernieuwingsknop naast de Cache policy dropdown en selecteer je nieuwe aangepaste cache policy in de dropdown.

Selecteer je custom cache policy.
Selecteer je custom cache policy.

Zo maak je een CloudFront Origin request policy

Klik in het Origin request policy gedeelte op Create policy. Hierdoor wordt de Create origin request policy pagina op een nieuw tabblad in je browser geopend.

Maak een Origin request policy in CloudFront.
Maak een Origin request policy in CloudFront.

Geef in het Details gedeelte een naam op (bijv. KinstaOriginPolicy) voor het origin verzoekbeleid

Selecteer het volgende in het Origin request settings gedeelte:

  • Headers: All viewer headers
  • Query Strings: All
  • Cookies: All

Klik op de Create knop om het aanvraagbeleid af te ronden.

Policy instellingen voor CloudFront Origin requests.
Policy instellingen voor CloudFront Origin requests.

Sluit dit browsertabblad en keer terug naar het tabblad waar je je nieuwe CloudFront distributie maakt.

Klik op de vernieuwingsknop naast de Origin request policy dropdown en selecteer je nieuwe custom Origin request policy in de dropdown.

Selecteer je aangepaste origin request policy in de origin request policy dropdown.
Selecteer je aangepaste origin request policy in de origin request policy dropdown.

Function Associations

We raden aan om geen Function Associations in te stellen. Hiermee kun je AWS Lambda serverloze functies toewijzen aan verschillende triggers binnen de levenscyclus van het verzoek (bijv. viewer request, viewer response, origin request, enz.).

Hoewel het mogelijk is om function associations naast Kinsta’s CDN te gebruiken, kunnen er enkele scenario’s zijn waarin een Lambda functie in conflict kan komen met Kinsta’s CDN. Als je custom Lambda functies op je site wilt gebruiken, raden we je aan samen te werken met een ontwikkelaar om eventuele problemen op te lossen.

Instellingen

Aanbevolen configuratie voor het Settings gedeelte:

  • Price Class: selecteer de CloudFront regio’s die je voor je site wilt gebruiken.
  • AWS WAF Web ACL: Als je een ACL met aangepaste firewallregels moet maken, raden we aan om samen te werken met een AWS expert om conflicten met Kinsta’s CDN te voorkomen.
  • Alternate Domain Name: Klik op Add item en specificeer het aangepaste domein (het primaire domein van je site bij Kinsta).
  • Custom SSL certificaat: selecteer het aangepaste SSL certificaat dat je aan het begin van deze tutorial hebt gemaakt.
    Je ziet een paar extra opties nadat je het aangepaste SSL certificaat hebt geselecteerd:

    • Legacy clients support: laat dit niet aangevinkt/uitgeschakeld.
    • Security Policy: TLSv1.2_2021
  • Supported HTTP Versions: HTTP/2
  • Standard logging: Off
  • IPv6: On
Sla de distributie-instellingen op om je nieuwe CloudFront zone te maken.
Sla de distributie-instellingen op om je nieuwe CloudFront zone te maken.

Klik op de Create distribution knop om het maken van je nieuwe CloudFront zone te voltooien.

Veelvoorkomende problemen met CloudFront oplossen

502 fouten

Als je 502 fouten op je site ziet nadat je je CloudFront distributie hebt gemaakt, controleer dan nogmaals het Origin domein in je Origin instellingen. Dit moet het kinsta.cloud domein van je site zijn, niet je live domein.

Wijzigingen worden niet weergegeven op je site

Door je site in te stellen om CloudFront te gebruiken, wordt een extra cachinglaag gecreëerd die moet worden gewist wanneer je de cache wil wissen. Als je problemen ondervindt bij het zien van wijzigingen op je site of als een plugin zich niet gedraagt ​​zoals verwacht na het installeren of opnieuw installeren, moet je ervoor zorgen dat je de cache op alle lagen wist, waaronder:

  1. Plugins (indien van toepassing)
  2. Thema’s (indien van toepassing)
  3. Site/server cache bij Kinsta (van MyKinsta of de Kinsta MU plugin)
  4. Cache bij CloudFront (Doe dit door objecten ongeldig te maken. Als je /* gebruikt om het objectpad ongeldig te maken, wordt alle cache gewist.)
  5. Browsercache

IP adres geblokkeerd door een false positive

Als je DDoS mitigation of botdetectie hebt ingeschakeld bij CloudFront en jij of een sitebezoeker ten onrechte wordt geblokkeerd bij het bekijken van je site, kan dit te wijten zijn aan een false positive resultaat. Als dit gebeurt, moet je zowel met AWS ondersteuning als Kinsta ondersteuning werken om vast te stellen waar de blokkering zich voordoet.

HTTP-HTTPS redirectloops

Als er HTTP-naar-HTTPS redirectloops optreden, zorg er dan voor dat het protocol is ingesteld op HTTPS Only in je CloudFront Origin instellingen voor je domein.

IP geolocatie redirects werken niet goed

Paginacache, die standaard is ingeschakeld bij CloudFront, kan interfereren met eventuele IP geolocatie redirects die je bij Kinsta instelt. Als dit gebeurt, moet je caching op CloudFront uitschakelen of je cache policy configureren om alleen de bestanden te cachen die niet specifiek zijn gekoppeld aan een locatie. Als je problemen ondervindt bij het instellen ervan, raden we je aan samen te werken met een ontwikkelaar om je custom cache policy te configureren.

Kan niet inloggen op het WordPress dashboard

Inloggen werkt niet zonder POST ondersteuning. Andere functionaliteit op de website kan ook worden beïnvloed. Zorg ervoor dat de Allowed HTTP methods onder Default cache behavior zijn ingesteld op GET, HEAD, OPTIONS, PUT, POST, PATCH, en DELETE.

Geavanceerde instellingen en compatibiliteit

Beperk de viewer access met signed URL’s en signed cookies

Sommige opties, zoals het beperken van toegang tot bestanden op aangepaste origins, werken mogelijk niet omdat Cloudflare statische verzoeken altijd zal cachen.