Falha no handshake de TLS do cache de resposta

Descubra como diagnosticar e solucionar problemas de falhas de handshake de TLS no cache de resposta ao criar implantações de API com o serviço API Gateway.

Se o armazenamento em cache de resposta estiver ativado e o API Gateway relatar problemas de integridade do cache com uma falha de handshake TLS, o API Gateway poderá atingir o caminho de conexão do cache, mas não poderá concluir o handshake TLS com o armazenamento do cache.

Sintomas do Problema

Você pode ver um ou mais dos seguintes sintomas:

  • A implantação da API está ativa, mas as respostas não são armazenadas no cache.
  • O cache de resposta é reportado como não íntegro.
  • Os logs de execução incluem um timeout de handshake SSL, uma falha de handshake TLS ou uma falha de conexão de cache.
  • As respostas em cache param de funcionar, mas a API continua a atender ao tráfego.

Possíveis Causas

Esse problema pode ocorrer por um ou mais dos seguintes motivos:

  • A porta ou o nome do host do ponto final do cache está incorreto.
  • A implantação de API está configurada para usar TLS, mas o listener de cache não está configurado para TLS na porta especificada ou não apresenta o certificado esperado.
  • O servidor de cache apresenta uma cadeia de certificados expirada, incompleta ou inválida.
  • Um firewall, proxy, regra de roteamento, grupo de segurança de rede (NSG) ou lista de segurança bloqueia ou interrompe o handshake TLS.
  • A sub-rede do gateway não pode acessar de forma confiável o ponto final do cache.
  • As credenciais de autenticação de cache no segredo referenciado estão ausentes, expiradas ou incorretas.

Revisar a Configuração do Cache de Resposta

Revise a configuração do cache de resposta e confirme se as seguintes definições correspondem ao ponto final do cache que você espera que o API Gateway use:

  • responseCaching.responseCache.servers[0].host
  • responseCaching.responseCache.servers[0].port
  • responseCaching.responseCache.isSslEnabled
  • responseCaching.responseCache.isSslVerifyDisabled
  • responseCaching.responseCache.authenticationSecretId
  • responseCaching.responseCache.authenticationSecretVersionNumber
  • responseCaching.responseCache.connectTimeoutInMs

Confirme se a configuração do cache de resposta aponta para o servidor de cache pretendido. O API Gateway suporta apenas um único host de servidor de cache para armazenamento em cache de resposta.

Verifique o log de Execução

Verifique no log de execução se há falhas de handshake de TLS no cache de resposta ou falhas de conexão no cache.

Confirmar o Ponto Final TLS do Cache

Confirme se o ponto final do cache está pronto para aceitar a conexão TLS do gateway:

  • Confirme se o listener de cache espera TLS na porta configurada.
  • Confirme se o certificado apresentado pelas cadeias de servidores de cache a uma autoridade de certificação (CA) na qual o Gateway de API confia quando a verificação do certificado está ativada.
  • Confirme se o nome de usuário e a senha do cache no segredo referenciado são válidos.
  • Em uma instância de computação que usa o mesmo caminho de rede da sub-rede do gateway, execute nc -vz <cache-host> <cache-port> para confirmar a acessibilidade de TCP.
  • Execute openssl s_client -connect <cache-host>:<cache-port> -servername <cache-host> -showcerts para inspecionar a cadeia de certificados e o resultado do handshake TLS.

Corrigir Problemas de TLS do Cache de Resposta

Use as seguintes ações para resolver a falha de handshake TLS:

  • Se o ponto final do cache estiver incorreto, atualize o host ou a porta do cache configurado.
  • Se o servidor de cache não estiver fazendo listening para TLS na porta configurada, corrija a configuração do listener ou desative o TLS na configuração do gateway quando o tráfego de cache de texto simples for aceitável para o seu ambiente.
  • Se a cadeia de certificados estiver expirada, incompleta ou não confiável, atualize a cadeia de certificados ou a configuração confiável.
  • Se as credenciais do cache estiverem incorretas, atualize a versão do segredo referenciado com o nome de usuário e a senha corretos.
  • Se o caminho de rede for bloqueado, atualize a regra de roteamento, a regra de NSG, a regra de lista de segurança, o firewall ou a configuração de proxy que controla o tráfego entre a sub-rede do gateway e o ponto final do cache.

Verificar cache de resposta

Depois de atualizar a configuração, verifique se o armazenamento em cache da resposta funciona conforme esperado:

  • Tente novamente uma solicitação que deve usar o armazenamento em cache da resposta.
  • Confirme se a falha de handshake TLS do cache não aparece mais no log de execução.
  • Confirme se o Gateway de API não reporta mais problemas de integridade de cache de resposta para o caminho da solicitação.

Para obter mais informações

Para obter mais informações, consulte: