Je moet Umbraco forceren om SSL/TLS te gebruiken over een HTTPS-verbinding. In deze korte post lees je de twee web.config-aanpassingen die je hiervoor moet maken, zodat de verbinding met je website goed beveiligd is: HTTP naar HTTPS redirect voor Umbraco.
Net als met de SQL Server connectie over SSL/TLS, moet ook het webverkeer -tussen de bezoeker en jouw site- goed beveiligd zijn met SSL/TLS. En uiteraard voor je Umbraco-backoffice ook om de beveiliging van Umbraco te optimaliseren.
In het web.config-bestand staat de configuratie-key Umbraco.Core.UseHttps standaard op false, zet deze op true:
<add key="Umbraco.Core.UseHttps" value="true" />
Nu het Umbraco-backoffice verkeer via HTTP/SSL verloopt, wil je ook dat je website in zijn geheel via SSL bereikbaar is. En alleen maar via SSL, want je wilt toch ook de privacy van je bezoekers garanderen? Dit doe je eenvoudig met een IIS rewrite rule.
Wist je dat ik op andere blogs hier vaker over heb geschreven?
- How to move WordPress to HTTPS? The definitive guide
- Redirect HTTP to HTTPS
- How to enable HTTP Strict-Transport-Security (HSTS) on IIS
Maar ook in het Nederlands:
En “Website redirecten naar HTTPS” en “Redirect HTTP to HTTPS” is dus precies wat we willen. Voeg het volgende toe aan je Umbraco web.config:
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="localhost" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
Let er goed op dat je dit op de goede plek plaatst. Nu redirect Umbraco netjes van HTTP naar HTTPS.
Als je ook HTTP Strict Transport Security (HSTS) wilt configureren, laat je systeembeheerder dan deze code opnemen in het C:\Windows\System32\inetsrv\Config\applicationHost.config
-bestand:
<hsts enabled="true"
max-age="31536000"
includeSubDomains="true"
preload="true" />
Of stel de volgende outboundRule in (op de juiste plek van je web.config-bestand):
<outboundRules>
<rule name="HSTS Strict-Transport-Security voor Umbraco en HTTPS" enabled="true">
<match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" />
<conditions>
<add input="{HTTPS}" pattern="on" ignoreCase="true" />
</conditions>
<action type="Rewrite" value="max-age=31536000" />
</rule>
</outboundRules>