Todos os produtos
Search
Central de documentação

Certificate Management Service:Install an SSL certificate on a JBoss server (Linux)

Última atualização: Sep 21, 2026

Instale um certificado SSL em um servidor JBoss para habilitar o acesso HTTP aos seus web services.

Importante

Este tópico usa Linux e jboss-as-7.1.1.Final como exemplos. As etapas podem variar para outras versões do sistema operacional ou do JBoss.

Pré-requisitos

  • Você adquiriu e solicitou um certificado pelo SSL Certificates Service, e o Status está como Issued. Para adquirir e solicitar um certificado, consulte Purchase a paid certificate e Apply for a certificate.

  • O nome de domínio está corretamente resolvido para o servidor atual.

  • Você tem permissões administrativas neste servidor (conta root ou conta com permissões sudo).

Procedimento

Etapa 1: Baixe o certificado SSL

  1. Na página SSL Certificates, localize o certificado que deseja implantar e confirme as seguintes informações:

    1. Certificate Status: Verifique se o status é Issued. Se estiver como About to Expire ou Expired, é necessário renew the SSL certificate.

    2. Bound Domains: Verifique se o certificado abrange todos os nomes de domínio que você deseja proteger. Caso contrário, os navegadores exibirão avisos de segurança quando os usuários acessarem domínios não correspondentes via HTTPS. Para adicionar ou modificar nomes de domínio, consulte Add and replace domain names.

      Como verificar a correspondência do nome de domínio

      O campo Bound Domains de um certificado pode incluir vários nomes de domínio exatos e curingas. As regras de correspondência são as seguintes:

      • Nome de domínio exato: um certificado de domínio exato aplica-se somente ao nome de domínio especificado.

        • Um certificado para example.com aplica-se somente a example.com.

        • Um certificado para www.example.com aplica-se somente a www.example.com.

      • Nome de domínio curinga: um certificado de domínio curinga aplica-se somente a subdomínios de primeiro nível.

        • Um certificado para *.example.com aplica-se a subdomínios de primeiro nível como www.example.com e a.example.com.

        • Um certificado para *.example.com não se aplica ao domínio raiz example.com nem a subdomínios de vários níveis como a.b.example.com.

      Nota

      Para 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).

  2. Localize o certificado de destino. Na coluna Actions, clique em More. Na aba Download, defina Server Type como JKS e baixe os arquivos.

  3. Os arquivos extraídos incluem um arquivo keystore (.jks) e um arquivo de senha (jks-password.txt). O keystore contém a chave privada e a cadeia de certificados completa para implantação.

    Nota

    JKS (Java KeyStore) é o formato de keystore padrão para ambientes Java.

Etapa 2: Instale o certificado SSL no servidor JBoss

  1. Faça logon no servidor Linux.

    Alibaba Cloud server

    As operações a seguir usam uma instância ECS da Alibaba Cloud como exemplo. Para outros tipos de servidores, consulte a documentação respectiva.

    1. Faça logon no ECS console. Na barra de navegação superior, selecione a região onde a instância ECS de destino está localizada.

    2. No painel de navegação à esquerda, escolha Instances & Images > Instances. Na página Instances, localize a instância ECS de destino e clique em Remote Connection na coluna Remote connection.

    3. Na caixa de diálogo exibida, selecione Workbench e clique em Sign in now.

    4. Selecione Terminal Connection como método de conexão, insira as informações de autenticação e siga as instruções na tela para concluir o logon. Após isso, acesse o terminal do servidor. Para mais informações, consulte Connect to an ECS instance by using Workbench.

      Nota

      Se o painel Security Group Whitelist Opening Prompt aparecer, clique em Add Rule conforme solicitado.

    Other cloud providers

    Use o recurso de conexão remota fornecido pelo provedor de cloud para fazer logon no terminal do servidor.

    On-premises servers

    Use uma ferramenta SSH na sua máquina local para fazer logon no terminal do servidor.

    • Windows: Execute o comando ssh <username>@<server_ip_address> no Prompt de Comando (cmd) ou no PowerShell. Se o comando ssh não for compatível, use uma ferramenta de terceiros, como PuTTY ou WinSCP, para estabelecer a conexão.

    • macOS/Linux: Execute o comando ssh <username>@<server_ip_address> no terminal integrado.

    Alguns dos comandos a seguir variam conforme o sistema operacional. Selecione o comando adequado para o sistema operacional do seu servidor.

    • Série RHEL/CentOS: inclui Alibaba Cloud Linux, Red Hat Enterprise Linux, CentOS, AlmaLinux, Rocky Linux, Anolis OS e seus derivados.

    • Série Debian/Ubuntu: inclui Debian, Ubuntu e seus derivados.

    Como identificar a série do seu sistema operacional

    Execute o comando cat /etc/os-release no terminal do servidor e verifique os campos ID_LIKE e ID na saída.

    • Se o valor de ID_LIKE ou ID contiver rhel ou centos, o sistema operacional pertence à série RHEL/CentOS.

    • Se o valor de ID_LIKE ou ID contiver debian ou ubuntu, o sistema operacional pertence à série Debian/Ubuntu.

  2. Abra a porta 443 no grupo de segurança e no firewall.

    1. Execute o comando a seguir no terminal do servidor para verificar se a porta 443 está aberta:

      RHEL/CentOS

      command -v nc > /dev/null 2>&1 || sudo yum install -y nc
      # Replace <your_server_public_ip_address> with the public IP address of your server.
      sudo ss -tlnp | grep -q ':443 ' || sudo nc -l 443 & sleep 1; nc -w 3 -vz <your_server_public_ip_address> 443

      Se a saída contiver Ncat: Connected to <your_server_public_ip_address>:443, a porta 443 está aberta. Caso contrário, abra a porta 443 no grupo de segurança e no firewall.

      Debian/Ubuntu

      command -v nc > /dev/null 2>&1 || sudo apt-get install -y netcat
      # Replace <your_server_public_ip_address> with the public IP address of your server.
      sudo ss -tlnp | grep -q ':443 ' || sudo nc -l -p 443 & sleep 1; nc -w 3 -vz <your_server_public_ip_address> 443

      Se a saída contiver Connection to <your_server_public_ip_address> port [tcp/https] succeeded! ou [<your_server_public_ip_address>] 443 (https) open, a porta 443 está aberta. Caso contrário, abra a porta 443 no grupo de segurança e no firewall.

    2. Abra a porta 443 no grupo de segurança.

      Importante

      Se o seu 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. Do contrário, o serviço não estará acessível pela internet. As operações a seguir usam uma instância ECS da Alibaba Cloud como exemplo. Para outras plataformas de cloud, consulte a documentação oficial de cada uma.

      Acesse a página ECS Instances e clique no nome da instância de destino para abrir a página de detalhes. Para mais informações, consulte Add a security group rule. Adicione uma regra ao security group com Action definido como Allow, Protocol Type definido como TCP, Port Range definido como HTTPS (443) e Authorization Object definido como Anywhere (0.0.0.0/0).

    3. Abra a porta 443 no firewall.

      Execute o comando a seguir para identificar o serviço de firewall ativo no sistema:

      if command -v systemctl >/dev/null 2>&1 && systemctl is-active --quiet firewalld; then
          echo "firewalld"
      elif command -v ufw >/dev/null 2>&1 && sudo ufw status | grep -qw active; then
          echo "ufw"
      elif command -v nft >/dev/null 2>&1 && sudo nft list ruleset 2>/dev/null | grep -q 'table'; then
          echo "nftables"
      elif command -v systemctl >/dev/null 2>&1 && systemctl is-active --quiet iptables; then
          echo "iptables"
      elif command -v iptables >/dev/null 2>&1 && sudo iptables -L 2>/dev/null | grep -qE 'REJECT|DROP|ACCEPT'; then
          echo "iptables"
      else
          echo "none"
      fi

      Se a saída for none, nenhuma ação adicional é necessária. Caso contrário, com base no tipo de firewall (firewalld, ufw, nftables ou iptables), execute o comando correspondente para abrir a porta 443:

      firewalld

      sudo firewall-cmd --permanent --add-port=443/tcp && sudo firewall-cmd --reload

      ufw

      sudo ufw allow 443/tcp

      nftables

      sudo nft add table inet filter 2>/dev/null
      sudo nft add chain inet filter input '{ type filter hook input priority 0; }' 2>/dev/null
      sudo nft add rule inet filter input tcp dport 443 counter accept 2>/dev/null

      iptables

      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

      Para evitar que as regras do iptables sejam perdidas após a reinicialização do sistema, execute o comando a seguir para torná-las persistentes:

      RHEL/CentOS

      sudo yum install -y iptables-services
      sudo service iptables save

      Debian/Ubuntu

      sudo apt-get install -y iptables-persistent
      sudo iptables-save | sudo tee /etc/iptables/rules.v4 >/dev/null
  3. Crie um diretório cert no diretório standalone/configuration do JBoss para armazenar o arquivo keystore.

    mkdir cert # Create a certificate directory named cert.  
  4. Carregue o arquivo keystore no diretório cert.

    Nota

    Use uma ferramenta de logon remoto como PuTTY, Xshell ou WinSCP para carregar o arquivo.

    Se você usa uma instância Elastic Compute Service (ECS) da Alibaba Cloud, consulte Transfer files to a Windows instance using Remote Desktop or Windows APP ou Upload a file to a Linux instance.

  5. Abra o arquivo standalone.xml, localize o conector HTTPS (<connector name="https">) em <subsystem xmlns="urn:jboss:domain:web:1.1"> e atualize-o conforme indicado abaixo:

    <subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
        <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
        <!--
            Configure the certificate password and path.
            Set password to the certificate password from jks-password.txt.
            Set certificate-key-file to the actual path where the certificate is stored.
        -->
        <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
            <ssl name="https" password="******" certificate-key-file="../standalone/configuration/cert/domain_name.jks"/>
        </connector>
    </subsystem>
    
    <!--Configure remote access to JBoss and the HTTPS port-->
    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"></inet>
        </interface>
        <!--Enable remote access-->
        <interface name="public">
            <inet-address value="${jboss.bind.address:0.0.0.0}"></inet>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"></inet>
        </interface>
    </interfaces>
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"></socket>
        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"></socket>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"></socket>
        <socket-binding name="ajp" port="8009"></socket>
        <!--Change the HTTP port to 80-->
        <socket-binding name="http" port="80"></socket>
        <!--Change the HTTPS port to 443-->
        <socket-binding name="https" port="443"></socket>
        <socket-binding name="osgi-http" interface="management" port="8090"></socket>
        <socket-binding name="remoting" port="4447"></socket>
        <socket-binding name="txn-recovery-environment" port="4712"></socket>
        <socket-binding name="txn-status-manager" port="4713"></socket>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"></remote>
        </outbound-socket-binding>
    </socket-binding-group>
  6. Acesse o diretório bin do JBoss e execute o comando a seguir para reiniciar o servidor.

    sh standalone.sh

Etapa 3: Verifique a instalação

  1. Acesse seu nome de domínio via HTTPS. Exemplo: https://example.com. Substitua example.com pelo seu nome de domínio real.

  2. 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 não apareça, limpe o cache do navegador ou tente novamente no modo anônimo ou privado.

    image

    A partir do Chrome 117, o ícone image na barra de endereços foi substituído pelo novo ícone image. Clique nesse ícone para visualizar as informações do cadeado de segurança.

Nota

Se o problema persistir, consulte FAQ para solução de problemas.

FAQ

Certificado não funciona ou HTTPS inacessível

Causas comuns:

Como atualizar um certificado SSL no JBoss?

Faça backup do arquivo keystore original (.jks) e do arquivo de senha (.txt) no servidor. Baixe os novos arquivos no console do Certificate Management Service e carregue-os no mesmo caminho com os mesmos nomes de arquivo. Reinicie o JBoss para que o novo certificado entre em vigor.