Laatst bijgewerkt op 6 sep 2023 13:16:49.
Categorie:
Alles over SSL certificaten
| SSL technisch
Op het Kinamo shared hosting platform worden de certificaten op de load balancers geplaatst en wordt het verkeer via SSL off-loading naar de onderliggende webserver nodes gebracht.
Welke impact heeft dit voor u als ontwikkelaar: de verbindingen op de website zullen steeds als normaal HTTP verkeer toekomen (met andere woorden op poort 80 en niet geëncrypteerd) aangezien de load balancers deze taak voor zich nemen (vandaar de naam "SSL off-loading").
Soms is het nodig om in de toepassing na te gaan of de bezoeker daadwerkelijk via HTTPS op de website kwam en indien dit niet het geval is deze toch via die weg te sturen.
Op een gewone webserver is dit geen probleem en kan u via PHP code eenvoudig nagaan of de poort waarop de bezoeker binnenkwam poort 80 (normaal HTTP verkeer) of poort 443 (HTTPS verkeer) was, of het protocol HTTP of HTTPS was.
Echter, op het Kinamo web hosting platform zal dit niet werken om eerder vermelde reden.
Om dit probleem op te lossen hebben wij twee headers toegevoegd. Aan de hand van deze headers kan u nagaan of de bezoeker via HTTPS binnen kwam of niet:
$_SERVER["HTTP_X_FORWARDED_PORT"]
Deze header zal meegeven via welke poort de bezoeker is binnen gekomen: in het geval van HTTPS is dit 443, in het geval van normaal HTTP verkeer is dit 80.
$_SERVER["HTTP_X_FORWARDED_PROTO"]
Deze header geeft mee via welk protocol de bezoeker is binnen gekomen, HTTPS of HTTP.
Onderstaand voorbeeld geeft weer hoe u op poort of protocol kan detecteren of iemand via de juiste weg binnen kwam, en indien dit niet het geval is zal de bezoeker doorverwezen worden naar de juiste website url.
Opgelet, deze code werkt ENKEL en ALLEEN op het Kinamo hosting platform! Het is mogelijk dat andere webservers andere server headers gebruiken!
if ($_SERVER['HTTP_X_FORWARDED_PORT'] != 443 || $_SERVER['HTTP_X_FORWARDED_PROTO'] != 'https') { $redirect = "Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; header( $redirect, true, 301 ); exit(0); }
Wordpress vereist enkele aanpassingen voor correct detecteren van HTTPS verkeer.
Hiervoor verwijzen we u graag door naar het FAQ item rond Wordpress en HTTPS verkeer detecteren.
Happy coding!
Werden niet al uw vragen beantwoord?
Geen nood, via een support aanvraag helpen wij u graag verder!