Como criar e usar certificados SSL

Para usar o balanceamento de carga SSL ou HTTPS, é necessário associar pelo menos um certificado SSL ao proxy de destino do balanceador de carga. É possível configurar o proxy de destino com até 15 certificados SSL. Para cada certificado SSL, primeiro é necessário criar um recurso de certificado SSL que contenha as informações sobre o certificado.

Os certificados SSL podem ser aqueles que você recebe e gerencia por conta própria (certificados autogerenciados) ou os que o Google recebe e gerencia para você (certificados gerenciados pelo Google).

Os recursos dos certificados SSL são usados apenas com os balanceadores de cargas de proxy HTTPS de destino e proxy SSL de destino. Consulte a documentação sobre como e quando usar os recursos de certificado SSL.

Os certificados SAN são compatíveis com balanceamento de carga HTTPS.

Como usar vários certificados SSL

É possível configurar o proxy de destino do balanceador de carga de proxy HTTPS ou SSL com até 15 certificados SSL. Eles podem ser qualquer combinação de certificados SSL autogerenciados e gerenciados pelo Google. Use vários certificados SSL quando você veicular a partir de vários domínios usando a mesma porta e endereço IP do balanceador de carga e quiser usar um certificado SSL diferente para cada domínio. O Google Cloud Platform implementa a indicação de nome do servidor (SNI), conforme definido na RFC 6066 para essa finalidade.

Os certificados SSL são usados com os recursos de proxy HTTPS de destino (TargetHttpsProxy) e proxy SSL de destino (TargetSslProxy). Você precisa especificar pelo menos um certificado SSL para cada um desses recursos. O limite é de até 15 certificados. Quando você especifica mais de um, o primeiro certificado na lista de certificados SSL é considerado o certificado SSL principal associado ao balanceador de carga.

Quando um cliente envia uma solicitação, o balanceador de carga usa o nome do host SNI especificado pelo cliente para selecionar o certificado a ser usado na negociação da conexão SSL do cliente. Sempre que possível, o balanceador de carga seleciona um certificado com o nome real (CN, na sigla em inglês) ou nome alternativo do sujeito (SAN, na sigla em inglês) correspondente ao nome do host SNI especificado pelo cliente e que é compatível com a capacidade do cliente de usar RSA ou ECDSA para assinaturas digitais. Se não for possível selecionar nenhum dos certificados disponíveis ou se o cliente não especificar um nome do host SNI, o balanceador de carga negocia SSL usando o certificado principal, que é o primeiro certificado na lista.

Vários certificados SSL (clique para ampliar)
Vários certificados SSL (clique para ampliar)

Caracteres curinga em nomes reais

Os certificados SSL autogerenciáveis podem usar um caractere curinga no nome comum. Por exemplo, um certificado com o nome real *.example.com. corresponde aos nomes de host www.example.com e foo.example.com, mas não a a.b.example.com ou example.com. Quando o balanceador de carga seleciona um certificado, ele sempre prefere combinar um nome de host com certificados sem caracteres curinga em vez de certificados com caracteres curinga.

Os certificados com fragmentos de caracteres curinga, como f*.example.com, não são aceitos.

Os certificados SSL gerenciados pelo Google não aceitam caracteres curinga.

Exemplo de vários certificados SSL

Veja um exemplo de como vários certificados SSL funcionam com balanceamento de carga HTTPS. O exemplo pressupõe que você tenha três nomes de host e três certificados SSL.

Como vários certificados SSL funcionam com balanceamento de carga HTTPS (clique para ampliar)
Como vários certificados SSL funcionam com balanceamento de carga HTTPS (clique para ampliar)

Os nomes de host são:

  • www.example.com
  • www.example.org
  • www.example.net

Você está veiculando conteúdo de www.example.com, www.example.org e www.example.net usando o balanceador de carga HTTPS no endereço IP 203.0.113.1. Configure os certificados SSL para que o balanceador de carga use cert-1 para www.example.com, cert-2 para www.example.org e cert-3 para www.example.net. Também é importante que o balanceador de carga use cert-1 quando os clientes não usam o SNI ou quando o nome do servidor fornecido pelo cliente não corresponde a nenhum dos certificados disponíveis. Qualquer certificado designado para uso quando não há certificados compatíveis é um certificado substituto.

Os certificados SSL são cert-1, cert-2 e cert-3. O certificado SSL cert-1 é o certificado principal. Quando cria os certificados, você associa um nome de host a cada um deles. Neste exemplo, o resultado é:

  • cert-1:www.example.com
  • cert-2:www.example.org
  • cert-3:www.example.net

Se o cliente usa o SNI para fornecer um nome de host durante o handshake de TLS (SSL), o balanceador de carga usa o certificado associado a esse nome de host. Por exemplo, como mostrado na ilustração acima, quando o cliente de user-2 fornece www.example.org como o nome do host SNI durante o handshake de TLS, o balanceador de carga veicula cert-2. Se o cliente de um usuário não fornecer um nome de host SNI ou fornecer um que não corresponda a nenhum dos certificados do balanceador de carga, o balanceador de carga usará o certificado principal, cert-1.

Quando você usa o certificado primário como substituto para clientes que não são compatíveis com SNI ou quando o nome de servidor fornecido pelo cliente não corresponde a nenhum dos certificados disponíveis, o cliente normalmente relata erros de validação de certificado quando a substituição ocorre. Isso é melhor do que arriscar uma falha no handshake, porque facilita a depuração. Os usuários podem ignorar os avisos de certificado, porém, exibir solicitações intencionalmente com um certificado de substituição é uma prática de segurança ineficiente.

Certificados SSL autogerenciados e gerenciados pelo Google

Dois tipos de certificados SSL estão disponíveis para você:

  • Certificados SSL autogerenciados, que são certificados que você recebe, provisiona e renova.

  • Certificados SSL gerenciados pelo Google, que são certificados que o Google Cloud Platform recebe e gerencia para seu domínio, renovando-os automaticamente.

Os certificados SSL gerenciados pelo Google são apenas certificados de validação de domínio (DV, na sigla e inglês) e não demonstram a identidade de uma organização ou indivíduo associado ao certificado. Os certificados autogerenciados podem ser certificados de validação de domínio, validação da organização ou validação estendida (DV, OV e EV, respectivamente, na sigla em inglês). Para mais informações sobre os certificados de validação de domínio, validação da organização e validação estendida, consulte Certificado de chave pública (em inglês).

Os certificados SSL gerenciados pelo Google são compatíveis com um único nome de domínio por certificado. Eles não são compatíveis com nomes comuns de caracteres curinga ou vários nomes alternativos de assunto.

É possível utilizar qualquer combinação de certificados SSL gerenciados pelo Google e autogerenciados em qualquer ordem em um proxy de destino.

Os certificados gerenciados pelo Google podem ser usados com ou sem o Cloud CDN ativado.

Como trabalhar com certificados SSL autogerenciados

Esta seção usa o programa de linha de comando openssl, que vem com a maioria dos sistemas Linux, BSD e Mac OS X, para gerar chaves privadas e públicas e uma solicitação de assinatura de certificado (CSR, na sigla em inglês).

Como receber uma chave privada e um certificado assinado

Você precisa de uma chave privada não criptografada e um certificado gerado com essa chave. Se você já tiver uma chave privada e um certificado de uma autoridade de certificação, pule para Como criar um recurso de certificado SSL. Caso contrário, crie uma nova chave privada e gere um certificado autoassinado que pode ser usado para criar um recurso de certificado SSL.

Para criar uma nova chave privada, primeiro, crie uma nova pasta para armazenar a chave e o certificado e, em seguida, use openssl para gerar a chave. Consulte a página do manual openssl-genrsa para informações sobre opções de comando.

$ mkdir ssl_cert
$ cd ssl_cert
$ openssl genrsa -out example.key 2048

Esse exemplo usa a criptografia RSA-2048. Somente criptografias RSA-2048 e ECDSA P-256 são compatíveis.

Para gerar um certificado assinado, você precisa de um CSR. Execute o comando a seguir para criá-lo. Consulte a página do manual openssl-req (em inglês) para informações sobre opções de comando.

$ openssl req -new -key example.key -out example.csr

Use o seu novo CSR para receber um certificado válido de uma autoridade de certificação. Como alternativa, gere um certificado autoassinado executando o comando a seguir. Consulte a página do manual openssl-x509 (em inglês) para informações sobre as opções de comando.

$ openssl x509 -req -days 365 -in example.csr -signkey example.key -out example.crt

Como criar um recurso de certificado SSL a partir de arquivos de certificado atuais

É possível criar um recurso de certificado SSL a partir de arquivos de certificado atuais usando o Console do Google Cloud Platform ou executando um comando gcloud. Você precisa ter um certificado para criar um recurso de certificado.

: O Google Cloud Platform só valida se todos os certificados em uma cadeia têm codificação PEM válida. Não é verificado se esses certificados estão encadeados corretamente. Cabe a você informar cadeias válidas de certificados.

Se você estiver configurando um balanceador de carga com vários certificados SSL, crie um recurso de certificado SSL para cada certificado.

Console


No Console do Google Cloud Platform, crie um novo recurso de certificado SSL ao criar ou editar um front-end para um balanceador de carga de proxy HTTPS ou SSL.

Para criar um novo recurso de certificado SSL para um front-end, faça o seguinte:

  1. Acesse a página "Balanceamento de carga" no Console do Google Cloud Platform.
    Acessar a página "Balanceamento de carga"
  2. Clique no nome de um balanceador de carga de proxy HTTPS ou SSL.
  3. Clique no ícone de lápis Editar.
  4. Selecione Configuração de front-end.
    1. Para um front-end atual, clique no ícone de lápis Editar do front-end. No menu suspenso Certificado, selecione o certificado visível e clique em Criar um novo certificado.
    2. Para um novo front-end, clique em Selecionar um certificado e em Criar um novo certificado no menu suspenso Certificado.
  5. Na caixa de diálogo Criar um novo certificado, insira um Nome para o recurso de certificado e, opcionalmente, clique em Adicionar uma descrição e insira uma descrição.
  6. Selecione Fazer o upload do certificado.
  7. No campo Certificado de chave pública, clique no botão Fazer o upload para fazer upload do arquivo .crt ou cole todo o conteúdo de seu arquivo .key no campo, incluindo os -----BEGIN CERTIFICATE----- e -----END CERTIFICATE----- que são usados antes e depois do conteúdo do arquivo, respectivamente.
  8. No campo Cadeia de certificados, clique em Fazer o upload para fazer o upload do arquivo .csr ou cole todo o conteúdo do arquivo .csr no campo, incluindo o -----BEGIN CERTIFICATE REQUEST----- e -----END CERTIFICATE REQUEST----- que são usados antes e depois do conteúdo do arquivo, respectivamente.
  9. No campo Certificado de chave privada, clique no botão Fazer o upload para fazer o upload da chave privada, utilizando o arquivo .key gerado anteriormente. Este arquivo usa, por exemplo, -----BEGIN RSA PRIVATE KEY----- e -----END RSA PRIVATE KEY----- no início e no final do conteúdo do arquivo, respectivamente.
  10. Clique em Criar.
  11. Para criar outros certificados, clique no link outros certificados, clique em Selecionar um certificado e em Criar um novo certificado. Siga as etapas anteriores para fazer o upload ou colar os arquivos apropriados.

gcloud


Para criar um certificado SSL com a ferramenta de linha de comando gcloud, use este comando:

gcloud compute ssl-certificates create [SSL_CERTIFICATE] \
    --certificate [CRT_FILE_PATH] \
    --private-key [KEY_FILE_PATH]
  • [SSL_CERTIFICATE]: nome que será dado ao recurso de certificado.

  • [CRT_FILE_PATH]: caminho e nome do arquivo de certificado (arquivo .crt).

  • [KEY_FILE_PATH]: caminho e nome do arquivo de chave (arquivo .key).

Como trabalhar com certificados SSL gerenciados pelo Google

Nesta seção, você verá como criar e usar certificados SSL gerenciados pelo Google.

Os certificados SSL gerenciados pelo Google são certificados que o Google Cloud Platform recebe e gerencia para o domínio. São certificados de validação de domínio (DV, na sigla em inglês) que aceitam um único nome de host por certificado. Para mais informações, consulte Tipos de Certificados SSL.

Também é possível usar certificados SSL gerenciados com o GKE. Para mais informações sobre como implementar isso, leia Como usar certificados SSL gerenciados pelo Google.

Como configurar um balanceador de carga usando certificados SSL gerenciados pelo Google

O processo geral para criar um balanceador de carga com certificados SSL gerenciados pelo Google usando a ferramenta de linha de comando gcloud é da seguinte maneira. A maioria dessas etapas é realizada no site do Google Cloud Platform, menos a etapa 5, que precisa ser realizada no site do registrador do domínio.

  1. Crie um recurso de certificado SSL gerenciado pelo Google para o domínio usando estas instruções.
  2. Crie o balanceador de carga de proxy HTTPS ou SSL. Para instruções sobre como criar um balanceador de carga HTTPS, consulte Como configurar o balanceamento de carga HTTP(S) e Como criar um balanceador de carga HTTP(S). Para instruções sobre como criar um balanceador de carga de proxy SSL, consulte Como configurar o proxy SSL para o Google Cloud Load Balancing.
  3. Crie um proxy HTTPS de destino ou um proxy SSL de destino que faça referência ao recurso de certificado SSL gerenciado pelo Google. Para mais detalhes sobre proxies de destino, consulte esta página ou Como configurar proxy SSL para o Google Cloud Load Balancing. Ao criar o proxy de destino, faça referência ao recurso de certificado SSL gerenciado pelo Google que você criou.
  4. Crie uma ou mais regras de encaminhamento para o proxy de destino na porta 443. Para mais detalhes sobre regras de encaminhamento, consulte Conceitos de regras de encaminhamento.
  5. No site do seu registrador, host DNS ou ISP (onde quer que seus registros DNS sejam gerenciados), adicione ou atualize o registro DNS do seu domínio para que aponte para o endereço IP associado às regras de encaminhamento que você acabou de criar.
  6. Adicione os seguintes registros de autorização de autoridade de certificação (CAA, em inglês), que especificam quais autoridades têm permissão para emitir certificados para o seu domínio:
    your_domain. CAA 0 issue "letsencrypt.org"
    your_domain. CAA 0 issue "pki.goog"
    
  7. Aguarde até que o recurso de certificado SSL tenha o status ATIVO. Consulte o status do recurso de certificado SSL gerenciado pelo Google para mais informações.

Também é possível criar certificados SSL gerenciados pelo Google ao criar um balanceador de carga usando o Console do Google Cloud Platform.

Para que o certificado gerenciado pelo Google seja emitido e seu estado de recurso se torne ATIVO, é necessário ter uma configuração do balanceador de carga, incluindo um proxy de destino e uma regra de encaminhamento, que faça referência ao recurso de certificado, bem como uma configuração de DNS que resolva o nome do host do seu domínio para o endereço IP da regra de encaminhamento. Para mais informações, consulte Status do recurso de certificado SSL gerenciado pelo Google.

Como migrar um balanceador de carga de certificados SSL autogerenciáveis para certificados SSL gerenciados pelo Google

Ao migrar um balanceador de carga fazendo a transição de certificados SSL autogerenciados para certificados SSL gerenciados pelo Google, não exclua nenhum certificado SSL autogerenciado antes que os certificados SSL gerenciados pelo Google estejam ativos. Após o provisionamento bem-sucedido dos certificados SSL gerenciados pelo Google, eles ficarão automaticamente ativos. Depois que os certificados SSL gerenciados pelo Google estiverem ativos, será possível excluir os certificados SSL autogerenciados.

Use as instruções a seguir para migrar de certificados autogerenciados para certificados SSL gerenciados pelo Google.

  1. Crie o recurso de certificado gerenciado pelo Google.
  2. Associe o recurso de certificado gerenciado pelo Google ao proxy de destino correto, mantendo o recurso de certificado autogerenciado atual na lista do proxy de destino.
  3. Aguarde até que o status do recurso de certificado gerenciado pelo Google esteja ATIVO.
  4. Quando o status for ATIVO, atualize o proxy de destino para remover o recurso de certificado autogerenciado da sua lista de certificados.

Renovação do certificado SSL gerenciado pelo Google

Os certificados SSL gerenciados pelo Google são renovados automaticamente, antes da data de validade expirar. Para mais informações sobre o processo de renovação, consulte status de recursos de certificado SSL gerenciado pelo Google.

Como criar um recurso de certificado SSL gerenciado pelo Google

Console


No Console do Google Cloud Platform, crie um novo recurso de certificado SSL ao criar ou editar um front-end para um balanceador de carga de proxy HTTPS ou SSL.

Para criar um novo recurso de certificado SSL para um front-end, faça o seguinte:

  1. Acesse a página "Balanceamento de carga" no Console do Google Cloud Platform.
    Acessar a página "Balanceamento de carga"
  2. Clique no nome de um balanceador de carga de proxy HTTPS ou SSL.
  3. Clique no ícone de lápis Editar.
  4. Selecione Configuração de front-end.
    1. Para um front-end atual, clique no ícone de lápis Editar do front-end. No menu suspenso Certificado, selecione o certificado visível e clique em Criar um novo certificado.
    2. Para um novo front-end, clique em Selecionar um certificado e em Criar um novo certificado no menu suspenso Certificado.
  5. Na caixa de diálogo Criar um novo certificado, insira um Nome para o recurso de certificado e, opcionalmente, clique em Adicionar uma descrição e insira uma descrição.
  6. Escolha Criar certificado gerenciado pelo Google.
  7. Insira os Domínios corretos.
  8. Clique em Criar.
  9. Para criar outros certificados, clique no link outros certificados, clique em Selecionar um certificado e em Criar um novo certificado. Siga as etapas anteriores para fazer o upload ou colar os arquivos apropriados.

gcloud


Use o seguinte comando gcloud para criar um recurso de certificado SSL gerenciado pelo Google:

gcloud beta compute ssl-certificates create [SSL_CERTIFICATE_NAME] \
    --domains [DOMAIN] --description [DESCRIPTION]

Como associar um certificado SSL gerenciado pelo Google a um proxy de destino

Para associar um recurso de certificado SSL gerenciado pelo Google a um proxy de destino, use as instruções em Como associar recursos de certificado SSL a um proxy de destino, que se aplicam aos certificados SSL autogerenciados e gerenciados pelo Google.

Status do recurso de certificado SSL gerenciado pelo Google

Esta seção explica o campo de status do recurso de certificado SSL, que pode ser usado para monitorar e resolver problemas com o provisionamento de certificados.

O valor do campo de status de um recurso de certificado SSL gerenciado pelo Google é alterado durante o provisionamento e pode indicar falhas no provisionamento ou na renovação.

Para determinar o valor do campo status, use o comando a seguir:

gcloud beta compute ssl-certificates list

Você verá um resultado semelhante a este:

NAME               TYPE          CREATION_TIMESTAMP             EXPIRE_TIME              MANAGED_STATUS
managed-cert       MANAGED       2018-08-10T08:44:30.220-07:00  2018-11-08T06:50:19.000-08:00  ACTIVE
    example.com: ACTIVE
self-managed-cer  SELF_MANAGED  2018-03-08T05:11:20.170-08:00  2019-03-08T02:15:21.000-08:00

O status PROVISIONING indica que o recurso de certificado gerenciado pelo Google foi criado, mas seu provisionamento ainda não foi concluído.

Para que o processo de provisionamento de certificado continue, todas as condições a seguir precisam ser atendidas:

  • Os registros DNS de seu domínio precisam fazer referência ao endereço IP do proxy de destino do balanceador de carga.

  • O proxy de destino precisa fazer referência ao recurso de certificado gerenciado pelo Google.

  • A configuração do balanceador de carga precisa estar completa, incluindo a criação de uma regra de encaminhamento.

Com uma configuração correta, o tempo total de provisionamento de certificados provavelmente levará de 30 a 60 minutos.

Se uma das etapas de configuração acima não for feita corretamente, o recurso de certificado gerenciado pelo Google terá o status PROVISIONING_FAILED.

Devido a atrasos de propagação, o status pode ser PROVISIONING_FAILED, embora a configuração esteja correta. Caso você veja o status PROVISIONING_FAILED, verifique novamente a sua configuração e permita algum tempo para que o sistema tente novamente. Em seguida, verifique o status novamente. Além disso, é possível consultar o campo domainStatus para informações sobre qual domínio falhou, caso ocorra uma falha de DNS.

O status PROVISIONING_FAILED_PERMANENTLY indica que o processo de provisionamento do certificado falhou devido a um problema com a configuração do DNS ou com a configuração do balanceamento de carga. O processo de provisionamento não é repetido.

Se o provisionamento falhar com o status PROVISIONING_FAILED_PERMANENTLY, verifique a configuração do balanceador de carga e corrija os problemas. Em seguida, recrie o recurso de certificado SSL seguindo este procedimento geral:

  1. Crie um novo recurso de certificado.
  2. Adicione o novo recurso de certificado ao proxy de destino.
  3. Atualize o proxy de destino para que ele não liste mais o recurso de certificado antigo.
  4. Remova o recurso de certificado antigo.

O status RENEWAL_FAILED indica que a renovação do certificado falhou devido a um problema na configuração do DNS ou na configuração do balanceamento de carga. O certificado atual continua a ser exibido, mas expira em breve. Verifique sua configuração e, se o status permanecer RENEWAL_FAILED, provisione um novo certificado, mude para o uso do novo certificado e exclua o antigo.

O status ACTIVE indica que o certificado SSL foi recebido da autoridade de certificação, que o provisionamento do recurso de certificado gerenciado pelo Google foi concluído e que o balanceador de carga está usando o certificado.

Status de domínio do recurso de certificado SSL gerenciado pelo Google

Esta seção explica os valores que o campo domainStatus pode ter e fornece informações sobre como lidar com problemas de provisionamento.

Para determinar o valor do campo status, use o comando a seguir:

gcloud beta compute ssl-certificates list

Você verá um resultado semelhante a este:

NAME               TYPE          CREATION_TIMESTAMP             EXPIRE_TIME              MANAGED_STATUS
managed-cert       MANAGED       2018-08-10T08:44:30.220-07:00  2018-11-08T06:50:19.000-08:00  ACTIVE
    example.com: ACTIVE
self-managed-cer  SELF_MANAGED  2018-03-08T05:11:20.170-08:00  2019-03-08T02:15:21.000-08:00

O campo domainStatus do recurso de certificado SSL gerenciado pelo Google contém o status das solicitações de domínios para recursos de certificado SSL gerenciado pelo Google. Esta seção contém informações sobre os possíveis valores do campo.

O status PROVISIONING indica que o provisionamento de certificados para o domínio está em andamento e que levará de 30 a 60 minutos para que o certificado seja ativado.

O status FAILED_NOT_VISIBLE indica que o provisionamento de certificado falhou em um domínio devido a um problema com o DNS ou com a configuração de balanceamento de carga. Verifique se o DNS está configurado para que o domínio do certificado seja resolvido para o endereço IP do balanceador de carga.

O status FAILED_CAA_CHECKING indica que houve uma falha de verificação nos registros CAA para o domínio.

O status FAILED_CAA_FORBIDDEN indica que a emissão de certificado é proibida por um registro CAA explícito para o domínio.

Se você tiver um registro CAA que limite as autoridades que podem emitir certificados, remova o limite de registro CAA.

O status FAILED_RATE_LIMITED indica que você atingiu um limite que se aplica a certificados SSL gerenciados pelo Google. Isso ocorre porque as autoridades de certificação limitam o tráfego de taxa. Se o Google tiver um grande número de solicitações de certificado em um curto período, poderemos ter uma taxa limitada para cada cliente. Se encontrar esse erro, entre em contato com o suporte para discutir um limite personalizado.

O status ACTIVE indica que um certificado SSL gerenciado pelo Google foi provisionado e não há problemas para o domínio. Observe que isso pode levar de 30 a 60 minutos para ser propagado pelo sistema. O certificado provisionado é totalmente eficaz não apenas quando o status for ACTIVE, mas também quando a visualização dele é possível ao fazer solicitações no balanceador de carga.

Como ver propriedades do recurso de certificado SSL

Para ver informações sobre o recurso de certificado SSL, execute o seguinte comando:

gcloud beta compute ssl-certificates describe [SSL_CERTIFICATE]
  • [SSL_CERTIFICATE]: o nome do recurso de certificado SSL.

Como listar recursos de certificado SSL

Para ver uma lista de todos os recursos de certificado SSL, execute o seguinte comando:

gcloud beta compute ssl-certificates list

A saída desse comando mostra a distinção entre certificados SSL autogerenciados e gerenciados pelo Google. Observe que MANAGED na saída indica que é gerenciado pelo Google.

NAME               TYPE          CREATION_TIMESTAMP             EXPIRE_TIME              MANAGED_STATUS
managed-cert       MANAGED       2018-08-10T08:44:30.220-07:00  2018-11-08T06:50:19.000-08:00  ACTIVE
    example.com: ACTIVE
self-managed-cer  SELF_MANAGED  2018-03-08T05:11:20.170-08:00  2019-03-08T02:15:21.000-08:00

Como associar recursos de certificado SSL a um proxy de destino

É possível associar de um a quinze certificados SSL a um proxy de destino usando o Console do Google Cloud Platform ou usando comandos gcloud. Não importa se os certificados SSL são autogerenciados ou gerenciados pelo Google.

Quando você cria um balanceador de carga com o Console do Google Cloud Platform, o upload de certificados SSL associa-os automaticamente ao proxy de destino correto. Use as instruções nos documentos a seguir para criar um novo balanceador de carga:

Para atualizar os certificados associados a um proxy HTTPS de destino ou proxy SSL de destino, primeiro crie os novos recursos de certificado SSL e atualize o proxy de destino usando o Console do Google Cloud Platform ou os comandos gcloud apropriados.

Se você estiver substituindo um certificado SSL atual por um novo, crie o novo recurso de certificado SSL, associe-o ao proxy de destino e exclua o recurso de certificado antigo com as instruções em Como excluir recursos de certificado SSL.

Console


  1. Acesse a página "Balanceamento de carga" no Console do Google Cloud Platform.
    Acessar a página "Balanceamento de carga"
  2. Clique no nome do balanceador de carga.
  3. Clique no ícone de lápis "Editar".
  4. Clique em Configuração do front-end.
  5. Clique no front-end correto.
  6. Clique em Outros certificados e selecione um certificado na lista suspensa. Como alternativa, clique em Adicionar certificado e escolha um certificado atual ou clique em Criar um novo certificado.
  7. Se você escolheu Criar um novo certificado, faça o upload do seu próprio certificado ou crie um certificado gerenciado pelo Google.
  8. Clique em Criar

gcloud


Para proxies HTTPS de destino, use o seguinte comando, em que é possível especificar até 15 recursos de certificado SSL:

gcloud compute target-https-proxies update [PROXY_NAME] \
    --ssl-certificates [SSL_CERT_1][,[SSL_CERT_2],...]
  • [PROXY_NAME]: o nome do recurso target-https-proxies que você está atualizando.
  • [[SSL_CERT_1][,[SSL_CERT_2],...]: lista completa de um a quinze nomes dos recursos do SslCertificate.

Para proxies SSL de destino, use o comando a seguir, em que é possível especificar até 15 recursos de certificado SSL:

gcloud compute target-ssl-proxies update  [PROXY_NAME] \
    --ssl-certificates [SSL_CERT_1][,[SSL_CERT_2],...]
  • [PROXY_NAME]: o nome do recurso target-ssl-proxies que você está atualizando.
  • [SSL_CERT_1][,[SSL_CERT_2],...]: a lista completa de um a 15 nomes dos recursos SslCertificate.

Como excluir recursos de certificado SSL

Para excluir um ou mais recursos de certificado SSL:

Console


  1. No painel esquerdo da página Editar balanceador de carga HTTP(S), clique em Configuração de front-end.
  2. No painel direito, clique no X ao lado do recurso de certificado a ser excluído.
  3. Clique em Concluído.

gcloud


gcloud compute ssl-certificates delete [SSL_CERT_1][,[SSL_CERT_2],...]
  • [SSL_CERTIFICATE]: nome do recurso SslCertificate que será excluído.

Limites

  • Um balanceador de carga de proxy HTTPS ou SSL precisa ter pelo menos um certificado SSL e ter até 15 certificados SSL, em qualquer combinação de certificados autogerenciados e gerenciados pelo Google.

  • Um certificado gerenciado pelo Google só pode ter um domínio especificado.

  • Quando você usa certificados gerenciados pelo Google com o balanceamento de carga de proxy SSL, a porta de tráfego de front-end precisa ser 443 para permitir que os certificados gerenciados pelo Google sejam provisionados e renovados.

  • O tamanho máximo do nome de domínio compatível é 64 bytes.

  • Não defina registros CAA que limitem as autoridades que podem emitir certificados. Isso pode impedir que certificados gerenciados pelo Google sejam emitidos.

Solução de problemas

Mensagem de erro ao fazer upload de um certificado SSL

Talvez você veja a seguinte mensagem de erro ao tentar fazer upload de um certificado SSL:

The SSL certificate could not be parsed.

O Google Cloud Platform exige certificados no formato PEM (em inglês). Se o certificado não estiver no formato PEM, ele poderá ser inválido.

Para validar o certificado, execute o seguinte comando em uma linha de comando do Linux ou no Cloud Shell:

    openssl x509 -in certificate.crt -text -noout

Se você vir a seguinte resposta, o certificado é inválido:

  • unable to load certificate
  • Expecting: TRUSTED CERTIFICATE

Se o arquivo inválido for de um certificado autogerado, será possível gerar um novo certificado usando as instruções em Como receber uma chave privada e um certificado assinado. Se for um certificado fornecido por uma autoridade de certificação (CA, na sigla em inglês), entre em contato com a CA para receber ajuda.

Mensagem de erro ao fazer upload de uma chave SSL

Talvez você veja a seguinte mensagem de erro ao tentar fazer upload de uma chave SSL:

The SSL key could not be parsed.

Para ver mais informações sobre a chave, execute o seguinte comando:

    openssl rsa -in privateKey.pem -check

Se as seguintes respostas forem exibidas, a chave será inválida:

  • unable to load Private Key
  • Expecting: ANY PRIVATE KEY
  • RSA key error: n does not equal p q
  • RSA key error: d e not congruent to 1
  • RSA key error: dmp1 not congruent to d
  • RSA key error: dmq1 not congruent to d
  • RSA key error: iqmp not inverse of q

Se você vir essas respostas, siga as instruções em Como receber uma chave privada e um certificado assinado.

Se a chave inválida estiver criptografada, você verá a seguinte resposta:

  • Enter pass phrase for privateKey.pem

O Google Cloud Platform exige que a chave seja enviada em um formato não criptografado. Para descriptografar a chave, execute o seguinte comando e digite a senha quando solicitado. Consulte a página do manual openssl-rsa (em inglês) para informações sobre as opções de comando.

    openssl rsa -in privateKey.pem -out privateKeyUnencrypted.pem

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…