Let's Encrypt in Azure Web App

Non hai un certificato SSL? Google ti segnalerà come sito non sicuro.

Questo è quello che ci eravamo detti nel 2017.
Tutti quindi a correre chiudendo con un certificato valido i propri siti.

Ma si sa, spendere per un certifcato è una cosa che non ci entusiasma molto.

Let's Encrypt viene in nostro aiuto se siamo alla ricerca di un Certificate Authority gratuito.

Certbot è un tool che permette di generare certificati con Let's Encrypt gratuiti e caricarli sul proprio hosting. Il tool ci permette di rinnovare il certificato in maniera automatica per evitare che dopo 3 mesi il certificato scada e lasci il nostro sito non protetto.

Ma cosa succede se volessimo usare questo stratagemma su un hosting in cloud Azure?

La prima scelta che Microsoft ci consiglia è generare un certificato (un App service certificate) con un costo di circa 55€ annui.

Durante le mie ricerche mi sono avventurato in un interessante plugin per gestire tutto il flusso di rilascio e di rinnovo dei certificati con Let's Encrypt.

Qui la guida che ho seguito di Scott Hanselman.

Anche se un pò datata (2017) questa guida è tutt'ora valida per installazione e configurazione del plugin.

La mia soluzione pubblicata su Azure implementa il cms di Umbraco. Sono stati quindi applicati dei piccoli accorgimenti per far girare il tutto.

Nel web.config settare:

<staticContent> 
    <remove fileExtension="." /> 
    <mimeMap fileExtension="." mimeType="text/plain" />
</staticContent>

ed infinengli app settings:

<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/.well-known" />

That's all!