Estic migrant el blog a SSL, el primer que he necessitat és un certificat. Els donen gratis a Let's Encrypt. La pega que tenen és que caduquen cada 4 o 5 mesos...
Per demanar certificats a Let's Encrypt no es fa amb un formulari ni res, és mitjançant el protocol ACME
El cert és que la majoria de clients del protocol ACME estan sota el paraigües d'algun *unix, però hi ha un que és per C# i .NET, el LetsEncript-win-simple. L'he descarregat i és força senzill de fer anar. Et surt una llista dels websites del IIS de la màquina que s'executa, esculls un i alehop! Tot fet. Inclús modifica la configuració del IIS per fer-la SSL.
També porta una tasca automàtica de renovació de certificats, però fins dins de 4 mesos no sabré si funciona.
A més a més del tema certificats cal entendre com funciona una mica el SSL per discriminar quin certificat fer servir. Sense SSL si hi ha més d'un website en una mateixa IP el servidor web les distingeix per l'adreça. Però clar amb SSL no només cal dirigir la petició HTTP cap a un website, sino que cal establir un tunel xifrat SSL per les comunicacions. És en aquest punt on entra en joc el SNI o Server Name Indication. En la fase de "handshake" del TLS (Transport Layer Security, és el successor del SSL encara que la gent el segueix dient SSL ja que al fi i al cap són comunicacions xifrades) hi ha aquesta fase on client i servidor negocien quin certificat es fa servir. D'aquesta manera es poden tenir certificats diferents per cada website.
El IIS el SNI ho reflexa en la casella "Requerir indicación de nombre de servidor", si es vol tenir més d'un website SSL compartint el server cal marcar-la. Però llavors apareix el warning groc de "no se ha creado un sitio SSL predeterminado...".
Aquest website predeterminado només és útil per navegadors sense SNI... i avui dia no hi ha cap. Només el IE6 que està mort fa molt temps no tenia SNI. Així que aquest warning es pot obviar.