
Há quase três anos, existe um centro de certificação Let's Encrypt que permite que você receba um certificado X.509 gratuitamente (ou seja, por nada). Desde março deste ano, até os certificados curinga são suportados, permitindo proteger todos os subdomínios de uma só vez, em vez de especificar um nome específico para cada um.
O certificado do tipo DV (Validação de Domínio) é emitido por um período de 90 dias. É possível renovar o certificado (novamente, gratuitamente - sem nenhuma atração). Certificados de nível superior (Validação da Organização ou Validação Estendida) não são emitidos pelo serviço.
Vamos criptografar usa um protocolo chamado ACME (ambiente de gerenciamento automatizado de certificados). Você pode agradecer aos principais patrocinadores pela oportunidade de receber um certificado gratuito na pessoa da Electronic Frontier Foundation (EFF), Mozilla Foundation, Akamai, Cisco Systems.
Abaixo do corte, você pode ler sobre como adicionar um certificado SSL ao site do Azure gratuitamente.
O certificado é emitido por três meses e seria bom se, de alguma forma, fosse atualizado automaticamente. A extensão do Azure que proponho usar para você contém um recurso interno que atualizará o certificado usando o WebJob, mas, para seu funcionamento, é necessário criar armazenamento de Blob. Existe uma opção de extensão sem renovação automática de certificado. É muito mais fácil de configurar. Mas quero fazer uma opção mais complexa. Depois de lidar com isso, você pode descobrir uma opção simples que não renova automaticamente o certificado.

A opção mais barata para replicação é o LRS (aqui não precisamos de algum tipo de replicação sofisticada). O modelo de acesso é legal, pois o acesso a dados raramente ocorre - apenas uma vez a cada 3 meses.
Precisamos de uma cadeia de conexão para armazenamento em blob, que pode ser encontrada aqui:

O valor dessa cadeia de conexão deve ser salvo nas Configurações do aplicativo do nosso Serviço de aplicativo com o tipo Personalizado e os seguintes nomes:

Agora que criamos o blob, podemos adicionar uma extensão ao Serviço de Aplicativo.

Acessando a seção Extensões do seu Serviço de Aplicativo e clicando em Adicionar +, você encontrará duas opções. Um com WebJobs renova o certificado automaticamente, o outro não. Desde que criamos o blob, podemos escolher a opção com WebJobs.

Agora você pode acessar a extensão e clicar em Procurar para abrir a extensão

Ou a opção não é para os preguiçosos - digite o endereço
https://.scm.azurewebsites.net/letsencrypt/
na linha do navegador
Uma janela será aberta com as seguintes configurações:

Agora vamos descobrir de que valores estão vindo. No topo do formulário, há uma descrição em inglês, mas tentarei explicar com capturas de tela e pequenos comentários.
Os valores de inquilino e SubscriptionId podem ser obtidos na seção de cobrança.

Clique na assinatura

Aqui você pode ver o ID da assinatura e o nome do diretório padrão logo abaixo. O diretório padrão é Inquilino.
Com ClientID e ClientSecret um pouco mais complicado. Precisamos criar um tipo de conta sob a qual algumas tarefas podem ser executadas - principal de serviço. Você não pode fazer logon no Azure com esta conta. Destina-se apenas a executar algumas tarefas internas.
Crie-o através do Azure Active Directory - Registros de Aplicativos

Clique em + Novo registro de aplicativo

A partir dos dados do aplicativo criado, você já pode obter o ID do aplicativo - este é o ClientID desejado. Vá para Configurações e teclas

Digite a DESCRIÇÃO da chave criada e clique em Salvar.

Copie o valor VALUE - este é ClientSecret.
Uma entidade de serviço foi criada, mas precisa adicionar direitos. Para fazer isso, vá para o grupo de recursos em que o Serviço de Aplicativo está localizado. Em seguida, vá para o IAM

E adicione uma nova permissão para a entidade de serviço criada com a função Colaborador

Agora temos os direitos e todos os valores necessários para preencher o formulário. ResourceGroupName é o nome do grupo em que o Serviço de Aplicativo está localizado. ServicePlanResourceGroupName é o nome do grupo cujo plano de serviço do seu App Service está localizado. O valor SiteSlotName pode ser omitido se você não estiver usando Slots de Desenvolvimento no Serviço de Aplicativo. Mas você precisa marcar a caixa ao lado de Atualizar configurações do aplicativo.
Depois de inserir tudo o que é necessário, clique em Avançar e, na próxima página, serão mostradas algumas informações sobre os certificados existentes (se repitirmos repentinamente o processo, haverá algo na lista).
Passamos para o Avançar e temos a oportunidade de selecionar nomes de host:

Depois de concluir a solicitação de um novo certificado, você pode verificar seu desempenho acessando o site e clicando no cadeado ao lado do certificado

O manual oficial em inglês pode ser encontrado aqui:
Como instalar e configurar o Let's Encrypt on Azure Web Apps