Guia passo a passo para habilitar HTTPS ou SSL de maneira correta no servidor Apache Tomcat – porta 8443

Publicados: 2021-04-03

Já faz quase 12 anos que comecei a usar o Apache Tomcat. Acredito que quando fiz meu projeto de 1º ano, foi no Tomcat versão 1.x . Agora já está na versão 8.0 . Principalmente eu estive em contato com o Tomcat Server na minha vida diária de trabalho, simplesmente não consigo viver sem ele.

No Crunchify já publicamos quase 40 artigos sobre Apache Tomcat . Na maior parte do tutorial eu executei o servidor na porta 8080 que é a porta padrão configurada no arquivo server.xml .

Neste tutorial, abordaremos todas as etapas em detalhes sobre how to enable HTTPS/SSL on Apache Tomcat Server .

Vamos começar:

Passo 1. Criar armazenamento de chaves

keytool : geraremos uma chave segura usando o comando keytool - que é uma ferramenta de gerenciamento de chaves e certificados.

Comando:

O arquivo será criado na pasta /Users/Shared .

Estou usando o Mac OS X, então substitua seu caminho de acordo se você estiver no Windows. Eu usei a senha 123456 .

Gerar crunchify.keystore para configuração HTTPS do Apache Tomcat - Dicas do Crunchify

Passo 2. Criar solicitação de assinatura de certificado autoassinado

Digite a senha: 123456

Etapa 3. Vamos verificar primeiro que o tomcat está sendo executado na porta 8080 sobre HTTP.

Start o servidor tomcat usando o comando: < startup.sh >/bin/startup.sh .

Verifique se você está no local correto do caminho do tomcat.

Hit URL: http://localhost:8080 para certificar-se de que o servidor está funcionando.

Verifique se o Apache Tomcat está em execução

Passo 4. Agora verifique a instância do tomcat na porta 8443 por HTTPS.

  • Agora verifique a porta 8443 (URL HTTPS/SSL).
  • URL de acesso: https://localhost:8443
  • Você deve ver a mensagem de erro. A página não deve carregar.

A inicialização do servidor Apache Tomcat falha sem o certificado adequado

Passo-5. Atualizar arquivo /conf/server.xml

Como geramos a solicitação de keystore e assinatura de certificado acima, precisamos dizer ao tomcat para usar isso.

  • Abra o arquivo server.xml que está localizado na <tomcat_home>/conf/ e modifique as configurações.
  • No nosso caso, é a pasta /Users/Shared/apache-tomcat-9.0.30/conf .

Adicione a seção abaixo diretamente ao arquivo server.xml:

  • Aqui a senha é 123456 que usei na Step-1 .
  • Protocolo: HTTP/1.1

Habilite HTTPS no arquivo server.xml para Apache Tomcat

Salvar Arquivo. Em seguida, vamos parar e iniciar o Tomcat Server.

Passo-6. Pare e inicie o Apache Tomcat.

  • bash-3.2$ /Users/Shared/apache-tomcat-9.0.30/bin/shutdown.sh
  • bash-3.2$ /Users/Shared/apache-tomcat-9.0.30/bin/startup.sh

Passo-7. Verifique o URL e a certificação HTTPS: https://localhost:8443

Agora, pressione o URL seguro HTTPS novamente para verificar se a página foi carregada com sucesso.

Cromada:

  • Por padrão, o Chrome Blocks all insecure HTTPS .
  • Ative o Chrome flag para carregar certificados inválidos para recursos carregados do localhost
    1. Ir para o Chrome
    2. Abrir guia
    3. digite: chrome://flags/#allow-insecure-localhost
    4. Ativar sinalizador no menu suspenso
    5. Reiniciar o Chrome

Google Chrome allow-insecure-localhost - Apache Tomcat

Safari e Mozilla Firefox:

  • Accept invalid certificate error e visite o site.

Você deve ver a página do Apache Tomcat carregando por HTTPS na porta 8443

Apache tomcat rodando na porta 8443 sobre HTTPS

Estás pronto. Você notou red padlock ? Não se preocupe. Não compramos o certificado SSL da Verisign ou da Comodo.

No ambiente de produção, você pode não ver esse sinal de cruz vermelha.

Clique no certificado no navegador e nosso certificado autoassinado padrão deve ser valid for 90 dias.

Confira o Certificado Crunchify que criamos na etapa 1

Ponto de bônus:

Como verificar o cert content do seu certificado usando o comando keytool ?

Resultado: