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].hostresponseCaching.responseCache.servers[0].portresponseCaching.responseCache.isSslEnabledresponseCaching.responseCache.isSslVerifyDisabledresponseCaching.responseCache.authenticationSecretIdresponseCaching.responseCache.authenticationSecretVersionNumberresponseCaching.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> -showcertspara 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: