Forceer HTTPS voor Umbraco

7/23/2020

Je moet Umbraco forceren om SSL 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.

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?

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>

Related articles

Previous

Beveilig Umbraco's SQL Server verbinding met SSL

7/23/2020

Het is belangrijk om de verbinding tussen je Umbraco-website en achterliggende SQL Server database goed te beveiligen. Standaard wordt een verbinding niet met SSL/TLS versleuteld. Ik laat je hier zien wat je aan je web.config-bestand moet toevoegen om de verbinding wél te versleutelen.

Read more

Advertisement