Hoe forceer je HTTPS voor iedereen?

HTTPS verbinding

Deze blogpost laat je in het kort zien hoe je je website kunt versleutelen met een SSL-certificaat (HTTPS). We proberen je zoveel mogelijk mee te nemen in het proces en de oplossingen zo generiek mogelijk neer te zetten. Kom je er niet uit? Laat het weten in de opmerkingen of neem contact op via het contact formulier.Een HTTPS, beveiligde of SSL verbinding is een verbinding waarover de data versleuteld wordt verstuurd. De reden dat HTTPS niet standaard op iedere website wordt toegepast, is dat het net wat langer duurt dan een normale http verbinding. Dit komt omdat alle verkeerd bij het sturen versleuteld moet worden en bij het ontvangen weer ontgrendeld moet worden.Desalniettemin, is het belangrijk om een HTTPS verbinding standaard voor je website in te stellen. Niet alleen voor de gebruiker zorgt dit voor meer veiligheid, maar Google rankt sinds een tijdje websites die over HTTPS verstuurd worden, beter dan websites die over HTTP verstuurd worden.

Kosten

HTTPS verbindingen waren tot voor kort vrij prijzig, je was zo 100 tot 300 euro per jaar kwijt. Sinds 2016 is dit echter verandert door de komst van“Let’s Encrypt”. Let’s Encrypt is een service die het voor iedereen mogelijk maakt een https verbinding op te zetten. Let’s Encrypt is tegenwoordig in vrijwel ieder administratiepaneel terug te vinden. Het installeren van een certificaat is per administratiepaneel anders, maar vaak kinderlijk eenvoudig. Volg de stappen en als alles goed gaat, krijg jeeen correct certificaat, welke automatisch op de website gezet wordt. Voor het bekende administratiepaneel cPanel staat nu alles goed ingesteld en zou je via https://websitenaam.nl/ je website beveiligd moeten kunnen bereiken. Voor het administratiepaneel DirectAdmin moet soms nog een kleine wijziging in de instellingen plaatsvinden. Gebruik je cPanel? Dan kun je onderstaande sectie skippen.

DirectAdmin

In het home scherm van DirectAdmin, klik op “Domain Administration”.

Klik dan op het domein waar je zojuist een SSL certificaat voor hebt gecreëerd en zorg dat “private_html setup for website.nl” op “Use a symbolic link from private_html to public_html – allows for same data in http and https” staat. Klik nu op save.

Altijd HTTPS

Nu is er nog één gedeelte wat we nog niet afgevangen hebben. We hebben al wel geregeld dat we een valide SSL certificaat hebben en dat de https://variant hetzelfde toont als de http:// variant, maar wat als de gebruiker alsnog http://website.nl intikt? Dan zou hij of zij toch nog op de versleutelde website terecht komen. Dit kan in veel gevallen opgelost worden door het .htaccess bestand in de zogenaamde“website root” aan te passen. In veel gevallen zal de website root de mappublic_html, www of htdocs zijn, maar dit verschilt per server. Weet je niet zeker welke map je moet hebben? Dan ishet handiger om hiervoor een expert in te schakelen. Één foutje in een .htaccess bestand kan er al voor zorgen dat je website niet meer werkt,zorg dus dat je goed weet wat je doet, en maak altijd backups voordat je aan deze acties begint.

.htaccess

Het kan zijn dat er al een bestand is wat .htaccess heet, maar het kan ook dat je deze nog moet aanmaken. Moet je deze nog aanmaken? Dan kun je ervan uit gaan dat alles blijft werken na het toevoegen van de volgende regels:

<IfModule mod_rewrite.c>
RewriteEngine On
# Deze lijn zorgt er voor dat we zogenaamde Rewrite mogelijkheden hebben
RewriteCond %{HTTPS} !=on
# Deze lijn checkt of https nog niet aan staat
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]
# Deze lijn doet het echte werk en redirect (R = 301) de gebruiker naar eenhttps versie van de URL.
</IfModule>

Staan er al regels in je .htaccess bestand? Bij WordPress installaties staan bijvoorbeeld vaak al regels in een .htaccess bestand. Voeg je dan de bovenstaande code toe, dan kan het zijn dat je website het niet meer doet. Het kan bijvoorbeeld zijn dat je de regel: RewriteEngine On al ziet staan.Als dat zo is, plaats dan de volgende twee regels direct onder de RewriteEngine On regel:

RewriteCond %{HTTPS} !=on
# Deze lijn checkt of https nog niet aan staat
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]
# Deze lijn doet het echte werk en redirect (R = 301) de gebruiker naar een https versie van de URL.

Conclusie

Het zijn uiteindelijke een aantal stappen, maar als je het eenmaal gedaan hebt, blijkt het niet heel lastig. Het proces in grote lijnen is simpel:Genereer een valide certificaat, zorg dat dezelfde website op https beschikbaar is, als op de http website en tot slot, forceer iedere gebruiker om https te gebruiken. De technische implementatie van deze taken kan toch lastiger zijn dan het eerste instantie klinkt. Loop je vast, of klinkt het allemaal wel erg technisch en wil je het uitbesteden? Wij kunnen u helpen! Laat weten waar je tegenaan loopt in een opmerking, of neem contact met ons op via het contactformulier!

Laat een reactie achter

Contact

We kunnen helaas nu even niet reageren, maar je kunt altijd een berichtje achter laten! We proberen altijd binnen 48 uur te reageren!

Niet leesbaar? Verander tekst. captcha txt
GDPR/AVG Consultancy