Certificado SSL HTTPS

Configuração de certificado SSL HTTPS em sua plataforma em caso da plataforma ficar fora do ar.

Importante ressaltar que sua plataforma poderá ficar fora do ar, caso sua gerencia de domínio não seja pela Cloudflare, pois quando a sua plataforma está apontada em outra conta (Hostgator, Wix, Registro.br, etc.) é instalado um certificado HTTPS via Let's Encrypt que necessita de renovação trimestral de forma manual, que é acessando ao .rdp de sua plataforma e reinstalando o certificado.

É importante observar também que o recomendado é instalar o certificado da Cloudflare, visando o tempo de até 15 anos para a próxima renovação, caso não tenham conta na Cloudflare, poderão criar uma conta e transferir a gerencia de domínio para lá. Apenas em casos em que não deseje usar a cloudflare ou se a plataforma está em um subdomínio que o processo a ser seguido será pelo Let's Encrypt.


1º - Certificado pela Cloudflare:

  1. Acesse seu painel da Cloudflare, depois em SSL > Edge Certificates e ativar "Always use HTTPS"

    f9234d48-0480-4890-9a43-899919e6cd41
  2. Acessar CloudFlare SSL > Origin Server > Create Certificate.

c5d9b4e8-698b-4bd9-a441-6f37067e6162
  1. Irá gerar duas senhas:

    78876b88-467f-4781-97d2-818f8a5684c1

    A primeira senha em Key Format, deve ser salva em um bloco de notas com o nome e formato: cert.pem;
    - A segunda senha em Private Key, deve ser salva em um bloco de notas com o nome e formato: cert.key.

  1. Agora você precisa baixar o OpenSSL.zip, que está em sua pasta da entrega do código fonte.

  2. Extraia o arquivo baixado e cole os arquivos cert.key e cert.pem no diretório do OpenSSL:

d96d089f-810d-4112-8817-5acbdc69d950
  1. Abra o arquivo openssl.exe:

    abd80f78-1af9-4898-a8ff-8c5ee50d145a

    Digite o comando:

pkcs12 -export -out cert.pfx -inkey cert.key -in cert.pem

Irá pedir uma senha, apenas aperte enter duas vezes.

O comando openssl cria um arquivo .pfx na pasta onde estão os arquivos .pem e .key

3287f56e-380b-479c-9007-52f63050880e

Acesse o .RDP :

Inicie a conexão abrindo o arquivo com extensão .rdp que está dentro da pasta arquivosdenuvem.zip em sua pasta de entrega do código fonte.

  1. Use a senha WindowsPassword, encontrada no arquivo resources.json , que está na mesma pasta arquivosdenuvem.zip:

452c4381-d676-428a-802a-4b1cac9b5c57
  1. Copie o arquivo .pfx na área de trabalho da maquina virtual .rdp.

  2. Instale ele escolhendo a opção local machine, (quando pedir a senha prosseguir deixar campo em branco).

  3. Acessar Internet Information Services (ISS) Manager > Sites clicar com o botão direito em Default Web Site e clicar em Edit Bindings

  4. Selecionar em Add, mude para https na tela que irá abrir e adicione dois registros, apontando para o certificado do Cloudflare, um com o name www e outro com o name em branco.

  5. Ao finalizar pressione windows + R e digite iisreset

  6. Feche o .rdp.

O certificado já foi instalado, agora é preciso configurar a plataforma. Vamos lá:

Em sua plataforma verifique se a URL está redirecionando corretamente:

  1. Conferindo nas configs environment:

    83de01d7-8eab-4147-a538-4bbe543e7839

    Agora acesse sua conta AWS e pesquise por Cloudfront:

492e225c-4f68-42da-a188-74d6de51b2ef

Agora selecione registros e clique em Distribution Settings

07bdfd6c-f46d-4e4e-b3c9-7b369bafc1fd

Observe o campo acima chamado "Domain Name", para o processo abaixo de CDN caso esteja vazio na plataforma, copie-o e insira https:// antes e uma barra "/" após colar a url.

Clique em Edit Origin e verifique se sua url se encontra no campo Origin Domain Name, Caso esteja outra URL basta alterar sem o https

6d4bcbe2-b061-4004-91d0-e60272d6c6bc

Após verificar o domínio no Cloudfront é importante acessar a config CDN na plataforma e conferir se o endpoint já está com o https ou ainda está em http. Precisa estar com https :)

51a86e0f-281c-40d1-aec1-80d1c3445289

Caso o campo endpoint esteja vazio (null) siga o processo acima de colar o Domain Name obtido na AWS>Cloudfront.

Então agora o domínio já está apontado e com certificado.


2º - Certificado pela Let's Encrypt:

Se você não possui conta Cloudflare, siga o processo abaixo:

1º - Inicie a conexão abrindo o arquivo com extensão .rdp que está na pasta: arquivosdenuvem.zip na pasta de entrega do código fonte.

  1. Use a senha WindowsPassword, encontrada no arquivo resources.json, seção de configuração Compute ,que esta na pasta: arquivosdenuvem.zip na pasta de entrega do código fonte.

452c4381-d676-428a-802a-4b1cac9b5c57

Clique no menu iniciar do Windows e escreva: IIS, após isso clique com o botão direito do mouse em Internet Information Services, depois clique em pin to taskbar para adiciona-lo na barra de ferramentas:

ff912c85-ba58-4d71-8d76-9f923f03cc6e

Clique no ícone na barra de ferramentas:

2d7c1d25-0cd5-432a-a6c0-7b5280c9903b

Duplo clique no EC2AMAZ:

118c15a0-6605-4692-bbac-9ef9cea0953d

Na lateral esquerda expanda a pasta EC2AMAZ, depois a pasta Sites, de um clique em Default Web Sites, depois na lateral direita clique em Bindings:

5e528f32-4adc-410d-a33f-f40aa016984f

Clique na porta de protocolo 443, depois em Remove

e50044ff-c95a-40b2-a1a1-79843a75f0d5

Retorne ao EC2AMAZ e procure por Server Certificates:

e948e5bb-0b6d-4bcb-abfa-23ece23d0d22

Encontre o certificado com o link da plataforma (www.exemplo.com.br).

115c01c7-8539-495c-ba52-1f789e3494c7

Para excluir o certificado selecione-o e clique em remove.

b6f8374d-eac3-4168-8521-85baeab54d0b

Na área de trabalho acesse o ícone wacs que fica dentro da pasta win acme:

4a4e7b2b-e515-4537-920e-26568409ee96

Caso não encontre a pasta win acme no RDP, você poderá baixar e inserir no RDP o arquivo win-acme.zip que está em sua pasta da entrega do código fonte, colocar na área de trabalho do .RDP e extrair o arquivo .zip.

Com o wacs aberto siga as seguintes instruções:

Abaixo, você confere um exemplo de como fazer instalação do certificado https no domínio www.exemplo.com.br. O passo de maior atenção é:

Please choose from the menu: m
How shall we determine the domain(s) to include in the certificate?: 2
Enter comma-separated list of host names, starting with the common name: www.exemplo.com.br,exemplo.com.br
Suggested friendly name '[Manual] www.aphouse.com.br', press <Enter> to accept or type an alternative: <Enter>
How would you like prove ownership for the domain(s)?: <Enter>
What kind of private key should be used for the certificate?: <Enter>
How would you like to store the certificate?: <Enter>
Would you like to store it in another way too?: <Enter>
Which installation step should run first?: <Enter>
Choose site to create new bindings: 1
Add another installation step?: <Enter>
Do you want to specify the user the task will run as? (y/n*) - <Enter>

Caso apareça a opção:

Enter email(s) for notifications about problems and abuse (comma-separated):

Significa que o certificado nunca foi criado nesse .rdp, nesse caso basta incluir um e-mail para receber as notificações de renovações.

Siga com <enter> e quando aparecer o menu inicial novamente digite "Q" ou feche o wacs.

a933674e-b756-4e41-a864-5abbd59165e8

Obs.: Durante a instalação do certificado verifique se não apresentará erros, se apresentar erro o próximo comado estará escrito: certificate failed, retry? (y/n*).

Nesse caso acesse a plataforma e desabilite o disableAutoRedirect (false) e tente instalar novamente do início desse passo:

df555f5e-b8d2-4a0b-ab79-a989adb6e7bb

Corrigir a configuração da URL da plataforma.

  1. Agora acesse sua conta AWS e pesquise por Cloudfront:

492e225c-4f68-42da-a188-74d6de51b2ef

Agora selecione registros e clique em Distribution Settings

07bdfd6c-f46d-4e4e-b3c9-7b369bafc1fd

Observe o campo acima chamado "Domain Name", para o processo abaixo de CDN caso esteja vazio na plataforma, copie-o e insira https:// antes e uma barra "/" após colar a url.

Clique em Edit Origin e verifique se sua url se encontra no campo Origin Domain Name, Caso esteja outra URL basta alterar sem o https

6d4bcbe2-b061-4004-91d0-e60272d6c6bc

Após verificar o domínio no Cloudfront é importante acessar a config CDN na plataforma e conferir se o endpoint já está com o https ou ainda está em http. Precisa estar com https :)

51a86e0f-281c-40d1-aec1-80d1c3445289

Caso o campo endpoint esteja vazio (null) siga o processo acima de colar o Domain Name obtido na AWS>Cloudfront.

Agora use a ferramenta Wheregoes? - A tool for tracing the redirect path of URLs.

Testar os 4 endpoints básicos:

Todos devem retornar resultado positivo, e o endereço final deve ser sempre aquele com https e www (ex. https://www.cliente.com.br), ao final dos redirecionamentos.

Caso de erros nas imagens da plataforma:

b3ac2731-85e4-498b-ba63-4abe9677af6f

Significa que não foi seguido o processo corretamente na conta AWS, na aba do Cloudfront, Nesse caso basta acessar, copiar o Domain Name e colar no CDN da plataforma.
Em ultimo caso, se a plataforma continuar com erro nas imagens desabilite o CDN e verifique se corrigiu:

b0936d17-419c-4ebc-954d-cc0d2ceb078c