Todos os produtos
Search
Central de documentação

Server Load Balancer:Deploy HTTPS services with CLB (mutual authentication)

Última atualização: Sep 23, 2026

Se a autenticação unidirecional estiver configurada, é possível estabelecer uma conexão HTTPS após a autenticação do servidor. Com a autenticação mútua, a conexão HTTPS é estabelecida apenas após a autenticação do cliente e do servidor. A autenticação mútua oferece um nível de segurança mais elevado. Configure a autenticação mútua para proteger seus serviços críticos para os negócios. Este tópico descreve como configurar a autenticação mútua em um listener HTTPS de uma instância CLB.

Procedimento

Neste exemplo, usamos um certificado de autoridade certificadora (CA) autoassinado para assinar o certificado do cliente. Execute as etapas a seguir para configurar a autenticação mútua no listener HTTPS.

Configure mutual authentication on an HTTPS listener of a CLB instance

Pré-requisitos

  • Você criou uma instância CLB.

  • Você criou dois servidores de back-end, ECS01 e ECS02, cada um executando um aplicativo diferente.

Etapa 1: Comprar um certificado de servidor

Compre um certificado de servidor no console do Certificate Management Service da Alibaba Cloud ou em outros provedores de serviços. Use um navegador e verifique se uma autoridade confiável emitiu o certificado enviado pelo servidor.

Este tópico usa como exemplo um certificado de servidor comprado no console do Certificate Management Service da Alibaba Cloud. Para mais informações, consulte Purchase an SSL certificate.

Importante

Certifique-se de ter um nome de domínio válido para associar ao certificado.

Etapa 2: Gerar um certificado CA usando o OpenSSL

Na autenticação mútua, uma CA autoritativa deve emitir o certificado do servidor para que os navegadores o considerem confiável (Etapa 1). No entanto, gerencie e distribua os certificados de cliente, pois eles não precisam de uma cadeia de confiança pública. Portanto, use um certificado CA autoassinado para emiti-los. Siga estas etapas para gerar um certificado CA autoassinado e emitir certificados de cliente.

Acesse qualquer máquina Linux com o OpenSSL instalado.

  1. Execute o comando a seguir e crie a chave privada do certificado raiz:

    openssl genrsa -out root.key 4096
  2. Execute o comando a seguir e crie um arquivo de solicitação de assinatura de certificado (CSR) para o certificado raiz:

    openssl req -new -out root.csr -key root.key

    Por favor, insira as informações conforme solicitado. Veja um exemplo:

    Nota

    O Common Name do certificado CA deve ser exclusivo. Não use o mesmo Common Name dos certificados de servidor ou de cliente.

    Country Name (2 letter code) [XX]:cn
    State or Province Name (full name) []:bj
    Locality Name (eg, city) [Default City]:bj
    Organization Name (eg, company) [Default Company Ltd]:alibaba
    Organizational Unit Name (eg, section) []:test
    Common Name (eg, your name or your servers hostname) []:root
    Email Address []:a.alibaba.com
    A challenge password []:
    An optional company name []:
  3. Execute o comando a seguir e crie o certificado raiz:

    openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650

    A saída é semelhante a esta:

    [root@i-xxx ~]# openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650
    Signature ok
    subject=C = cn, ST = bj, L = bj, O = alibaba, OU = test, CN = root, emailAddress = xxx@xxx.com
    Getting Private key
  4. Execute ls e visualize o certificado raiz gerado root.crt e a chave privada root.key.

Etapa 3: Gerar um certificado de cliente

  1. Agora, execute o comando a seguir para gerar uma chave privada para o certificado de cliente:

  2. openssl genrsa -out client.key 4096
  3. Execute o comando a seguir para gerar um arquivo CSR para o certificado de cliente e defina o Common Name como o seu nome de domínio.

  4. openssl req -new -out client.csr -key client.key
  5. Execute o comando a seguir e crie o certificado de cliente:

  6. openssl x509 -req -in client.csr -out client.crt -CA root.crt -CAkey root.key -CAcreateserial -days 3650
  7. Execute o comando a seguir para converter o certificado de cliente gerado client.crt em um arquivo PKCS12 compatível com o navegador. Siga as instruções e insira a senha de criptografia definida para a chave privada do cliente.

  8. openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
  9. Execute ls e visualize os arquivos de certificado de cliente gerados: client.key, client.crt e client.p12.

Etapa 4: Instalar o certificado de cliente

Agora, instale o certificado de cliente no cliente.

Windows client

Clique duas vezes no arquivo client.p12 e siga o Assistente de Importação de Certificados e instale-o.

Linux client

Faça upload dos arquivos client.key, client.crt e root.crt para qualquer diretório no seu cliente Linux.

Neste exemplo, o diretório é /home/ca. Execute sudo chmod 700 /home/ca e modifique as permissões do diretório.

Etapa 5: Fazer upload do certificado de servidor e do certificado CA

  1. Faça login no console do CLB.

  2. No painel de navegação à esquerda, escolha CLB > Certificates e clique em Add Certificate para fazer upload do certificado de servidor.

  3. No painel Add Certificate, clique em Third-party Certificates, configure os parâmetros a seguir e clique em Create.

    Parâmetro

    Descrição

    Certificate Name

    Insira um nome para o certificado.

    Certificate Type

    Selecione Server Certificate.

    Public Key Certificate

    O conteúdo do certificado de servidor. Cole o conteúdo no editor.

    Private Key

    A chave privada do certificado de servidor. Cole a chave privada no editor.

    Region

    Selecione a região da instância CLB.

  4. Na página Certificates, clique em Add Certificate para fazer upload do certificado CA.

  5. No painel Add Certificate, clique em Third-party Certificates, configure os parâmetros a seguir e clique em Create.

    Parâmetro

    Descrição

    Certificate Name

    Insira um nome para o certificado.

    Certificate Type

    Selecione CA Certificate.

    Client CA Certificate

    Faça upload do certificado de chave pública do cliente.

    Region

    Selecione a região da instância CLB.

Etapa 6: Configurar a autenticação mútua em um listener HTTPS

Aviso

O CLB rejeita solicitações de clientes sem certificado instalado. Se a sua instância CLB estiver em um ambiente de produção, teste essa configuração primeiro em um ambiente de homologação. Como alternativa, use uma nova porta de escuta para evitar a interrupção dos serviços existentes.

  1. Faça login no console do Classic Load Balancer.

  2. Clique no ID da instância CLB que você criou.

  3. Na aba Listeners, clique em Add Listener.

  4. Na aba Protocol & Listener, configure os parâmetros a seguir e clique em Next.

    • Select Listener Protocol: HTTPS

    • Listener Port: 443

  5. Na aba Certificate Management Service, selecione o certificado de servidor enviado.

  6. Clique em Modify ao lado de Advanced Settings, ative a autenticação mútua, selecione o certificado CA enviado e clique em Next.

  7. Selecione Default Server Group e clique em Add para adicionar servidores de back-end.

  8. Aceite os valores padrão dos parâmetros restantes e clique em Next para avançar no assistente. Na página final, clique em Submit e envie o formulário e crie o listener.

Etapa 7: Testar o recurso de autenticação mútua

Windows client

  1. Em um navegador, insira https://ip:port, onde ip é o endereço IP público do CLB. Na caixa de diálogo exibida, confirme o certificado conforme solicitado.

  2. Atualize a página da web. Você verá que o CLB distribui as solicitações uniformemente aos servidores de back-end.

    A página exibe Hello World ! This is ECS01., o que indica que o CLB encaminhou a solicitação ao servidor ECS01.

    A página exibe Hello World ! This is ECS02., o que indica que o CLB encaminhou a solicitação ao servidor ECS02.

Linux client

Acesse o cliente Linux com os certificados instalados e execute o comando a seguir e verifique a autenticação mútua do CLB:

sudo curl --cert /home/ca/client.crt --key /home/ca/client.key --cacert /home/ca/root.crt https://<the domain name on the server certificate>:<port>

Se você receber as respostas a seguir, a autenticação mútua entre o cliente e o servidor estará concluída, e o CLB distribuirá as solicitações para as duas instâncias ECS.

[test@iZxxxw521i57Z ~]$ sudo curl --cert /home/ca/client.crt --key /home/ca/client.key --cacert /home/ca/ca.crt https://xxx.com.cn
Hello World ! This is ECS01.
[test@iZxxxw521i57Z ~]$ sudo curl --cert /home/ca/client.crt --key /home/ca/client.key --cacert /home/ca/ca.crt https://xxx.com.cn
Hello World ! This is ECS02.