Implante um certificado SSL em um servidor Tomcat no Windows para ativar a criptografia HTTPS e eliminar os avisos de "Não seguro" do navegador. Este guia aborda a preparação do certificado, a configuração do Tomcat e a verificação da implantação.
Requisitos
Antes de começar, verifique se os seguintes requisitos são atendidos:
Status do certificado: Tenha um certificado SSL emitido por uma autoridade certificadora (CA) confiável. Se o certificado estiver expirando ou já tiver expirado, renove-o primeiro.
-
Correspondência de nome de domínio: Certifique-se de que o certificado abranja todos os nomes de domínio a serem protegidos. Caso precise adicionar ou alterar um nome de domínio, purchase a paid certificate ou add and replace domain names.
-
Nome de domínio exato: Um certificado de nome de domínio exato é válido apenas para o domínio especificado.
Um certificado para
example.comaplica-se apenas aexample.com.Um certificado para
www.example.comaplica-se apenas awww.example.com.
-
Nome de domínio curinga: Um certificado de nome de domínio curinga aplica-se apenas a subdomínios de primeiro nível.
Um certificado para
*.example.comaplica-se a subdomínios de primeiro nível, comowww.example.comea.example.com.Um certificado para
*.example.comnão se aplica ao domínio raizexample.comnem a subdomínios de vários níveis, comoa.b.example.com.
NotaPara corresponder a um subdomínio de vários níveis, o campo Bound Domains deve incluir o nome de domínio específico (por exemplo,
a.b.example.com) ou um domínio curinga correspondente (por exemplo,*.b.example.com). -
Permissões do servidor: Use a conta
Administratorou uma conta com privilégios de administrador.Resolução de DNS: O nome de domínio é resolvido para o endereço IP público do servidor.
-
Dependências do ambiente: Os exemplos usam o Windows Server 2025 e o Tomcat 9.0.105. Diretório de instalação de exemplo:
C:\apache-tomcat-9.0.105.NotaAs etapas podem variar de acordo com o sistema operacional ou a versão do Tomcat.
Procedimento
Etapa 1: Preparar o certificado SSL
Acesse a página SSL Certificate Management. Na coluna Actions do certificado de destino, clique em More para abrir a página de detalhes do certificado. Na guia Download, baixe o certificado para o Server Type Tomcat.
-
Extraia o pacote de certificados baixado. Ele contém um arquivo de certificado (.pfx ou .jks) e um arquivo de senha (.txt).
NotaSe você gerou o CSR com o OpenSSL ou Keytool, a chave privada existe apenas na sua máquina local e não está incluída no download. Em caso de perda, purchase a commercial certificate novamente e gere um novo CSR e uma nova chave privada.
-
Transfira os arquivos de certificado e senha para um diretório seguro no servidor. Caminho de exemplo:
D:\cert.NotaAs etapas a seguir usam uma instância do Alibaba Cloud ECS como exemplo. Para outros tipos de servidor, consulte a documentação respectiva.
Acesse o ECS console - Instances. No canto superior esquerdo, selecione a região e o grupo de recursos do recurso de destino.
Na página de detalhes da instância, clique em Connect e selecione Workbench. Siga as instruções na tela para fazer logon na área de trabalho do servidor.
No canto inferior esquerdo da área de trabalho do servidor, clique no menu Enabling. Encontre e abra This PC, Computer ou File Explorer.
Em Redirected drives and folders, clique duas vezes em workbench on ***. Arraste o arquivo de certificado da sua máquina local para esse diretório e, em seguida, clique com o botão direito do mouse na pasta e selecione Refresh.
-
Copie o arquivo para o diretório
D:\cert.ImportanteO Workbench exclui automaticamente todos os arquivos transferidos no diretório Redirected drives and folders ao desconectar, reconectar ou fazer logoff. Use esse diretório apenas para transferência de arquivos.
Etapa 2: Configurar o sistema e o ambiente de rede
-
Abra a porta 443 no grupo de segurança.
ImportanteSe o servidor estiver implantado em uma plataforma de cloud, certifique-se de que o grupo de segurança permita tráfego de entrada na porta TCP 443. Caso contrário, o service não ficará acessível pela internet. As operações a seguir usam uma instância do Alibaba Cloud ECS como exemplo. Para outras plataformas de cloud, consulte a documentação oficial.
Acesse a página ECS Instances, selecione a região onde a instância ECS de destino está localizada e clique no nome da instância para acessar a página de detalhes.
Clique em e verifique se existe uma regra com Action definida como Allow, Protocol Type definido como TCP, Port Range definido como HTTPS (443) e Authorization Object definido como Anywhere (0.0.0.0/0).
Caso essa regra não exista, adicione uma ao grupo de segurança de destino. Para mais informações, consulte Add a security group rule.
-
Abra a porta 443 no firewall do servidor.
Faça logon no servidor Windows, clique no menu Start e abra o Control Panel.
Acesse .
Se o firewall estiver desativado, conforme mostrado na figura a seguir, nenhuma ação adicional será necessária.

-
Se o firewall estiver ativado, siga estas etapas para permitir o tráfego HTTPS.
No painel de navegação à esquerda, clique em e verifique se existe uma regra de entrada na qual o Protocol seja TCP, a Local Port seja 443 e a Action seja Block.
Caso essa regra exista, clique com o botão direito do mouse nela, selecione Properties e, na guia General, altere a ação para Allow the connection. Em seguida, clique em Apply.
Etapa 3: Implantar o certificado no Tomcat
-
Edite o arquivo
server.xmlpara configurar as definições de SSL. Caminho de exemplo:C:\apache-tomcat-9.0.105\conf\server.xml.Exemplo de PFX
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000"> <SSLHostConfig> <!-- Replace D:/cert/example.com.pfx with the actual path to your certificate file. Replace your_certificate_password with the content of the pfx-password.txt file. --> <Certificate certificateKeystoreFile="D:/cert/example.com.pfx" certificateKeystorePassword="your_certificate_password" certificateKeystoreType="PKCS12" type="RSA"/> </SSLHostConfig> </Connector>Exemplo de JKS
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000"> <SSLHostConfig> <!-- Replace D:/cert/example.com.jks with the actual path to your certificate file. Replace your_certificate_password with the content of the jks-password.txt file. --> <Certificate certificateKeystoreFile="D:/cert/example.com.jks" certificateKeystorePassword="your_certificate_password" certificateKeystoreType="JKS" type="RSA" /> </SSLHostConfig> </Connector> -
Opcional: Configure o redirecionamento automático de HTTP para HTTPS.
-
Edite o arquivo
server.xml. Localize o conector HTTP (porta padrão 8080) e defina o atributo redirectPort como 443. Adicione o atributo caso ele não exista.<!-- Tomcat listens on port 8080 by default. Change this to the actual HTTP port that you are listening on. --> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" maxParameterCount="1000" /> -
Adicione o seguinte código ao final do arquivo
web.xml:<security-constraint> <web-resource-collection> <web-resource-name>SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>NotaApós salvar, o servidor redireciona todas as solicitações HTTP para HTTPS.
-
-
Após salvar a configuração, acesse o diretório
binda instalação do Tomcat e reinicie o servidor para que as configurações de SSL entrem em vigor.-
Interrompa o servidor Tomcat.
shutdown.bat -
Inicie o servidor Tomcat.
startup.bat
-
Etapa 4: Verificar a implantação
Acesse seu nome de domínio por HTTPS. Exemplo:
https://example.com. Substituaexample.compelo seu nome de domínio real.-
Se um ícone de cadeado aparecer na barra de endereços do navegador, o certificado foi implantado com sucesso. Caso ocorra um erro de acesso ou o ícone de cadeado não apareça, limpe o cache do navegador ou tente novamente no modo anônimo ou privativo.

A partir do Chrome 117, o ícone
na barra de endereços foi substituído por um novo ícone
. Clique nesse ícone para visualizar as informações do cadeado de segurança.
Caso o problema persista, consulte a seção FAQ para solução de problemas.
Implantação em produção
Ao implantar um aplicativo em um ambiente de produção, siga estas práticas recomendadas para melhorar a segurança, a estabilidade e a manutenibilidade:
-
Execute o aplicativo como um usuário não administrador:
Crie um usuário de sistema dedicado e com baixos privilégios para o aplicativo. Não execute o aplicativo usando uma conta que tenha permissões administrativas.
NotaRecomendamos o uso de uma configuração de SSL no nível de gateway. Isso envolve implantar o certificado em um proxy reverso, como uma instância de SLB ou Nginx. O proxy reverso encerra o tráfego HTTPS e, em seguida, encaminha o tráfego HTTP descriptografado para o aplicativo de backend.
-
Externalize o gerenciamento de credenciais:
Não codifique informações confidenciais, como senhas, diretamente no código ou nos arquivos de configuração. Use variáveis de ambiente, um cofre ou um Key Management Service fornecido pelo seu provedor de cloud para injetar credenciais.
-
Force o redirecionamento de HTTP para HTTPS:
Certifique-se de que todo o tráfego que acessa seu site por HTTP seja redirecionado automaticamente para HTTPS. Isso ajuda a evitar ataques do tipo man-in-the-middle (MITM).
-
Configure protocolos TLS modernos:
Na configuração do servidor, desative protocolos obsoletos e inseguros, como SSLv3, TLS 1.0 e TLS 1.1. Ative apenas o TLS 1.2 e o TLS 1.3.
-
Monitore certificados e automatize a renovação:
Após a implantação do certificado, recomendamos ativar o monitoramento de nomes de domínio. O Alibaba Cloud verifica automaticamente o período de validade do certificado e envia lembretes antes da expiração. Isso ajuda a renovar o certificado em tempo hábil para evitar interrupções no service. Para mais informações, consulte Purchase and enable public domain name monitoring.
FAQ
Certificado não funciona ou HTTPS inacessível
Causas comuns:
A porta 443 está bloqueada pelo grupo de segurança ou pelo firewall do servidor. Configure the system and network environment.
O nome de domínio não está incluído nos Bound Domains do certificado. Domain name match.
O Tomcat não foi reiniciado após a alteração da configuração. Stop and restart the Tomcat service.
O arquivo de certificado não foi substituído corretamente ou o caminho na configuração do Tomcat está incorreto. Verifique se tanto a configuração quanto o arquivo de certificado estão atualizados e válidos.
O nome de domínio está integrado a services de cloud, como CDN, SLB ou WAF, mas o certificado não está instalado no service correspondente. Para mais informações, consulte Certificate deployment location when traffic passes through multiple cloud services.
O nome de domínio é resolvido para vários servidores, mas o certificado está instalado apenas em alguns deles. Instale o certificado em cada servidor.
Para solucionar outros problemas, consulte Troubleshoot certificate deployment issues based on browser errors e SSL certificate deployment troubleshooting guide.
Atualizar um certificado SSL no Tomcat
Faça backup dos arquivos de certificado existentes (.pfx ou .jks e o arquivo .txt) no servidor. Baixe os novos arquivos de certificado do console do Certificate Management Service e faça o upload para substituir os arquivos existentes. Mantenha os mesmos caminhos e nomes de arquivo. Reinicie o Tomcat para que o novo certificado entre em vigor.
Após reiniciar o Tomcat, o service falha ao iniciar e o log (catalina.log) mostra um erro LifecycleException ou Keystore was tampered with, or password was incorrect.
Causas comuns:
-
Senha incorreta:
O valor de
certificateKeystorePasswordnoserver.xmlnão corresponde à senha real do certificado. Verifique a senha, pois há distinção entre maiúsculas e minúsculas. -
Caminho do certificado incorreto:
O caminho em
certificateKeystoreFileestá incorreto. Verifique se há erros de digitação e considere usar um caminho relativo ao diretórioconf/. -
Tipo de keystore incompatível:
O
certificateKeystoreTypenão corresponde ao formato real do arquivo de certificado. UsePKCS12para arquivos PFX eJKSpara arquivos JKS. -
Caracteres especiais na senha:
A senha contém caracteres especiais XML, como
&,<ou>, não escapados corretamente no arquivoserver.xml.
Redirecionamento automático de HTTP para HTTPS
Siga a seção Set up automatic redirection from HTTP to HTTPS. Reinicie o Tomcat após modificar a configuração.