Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
A indicação de nome do servidor (SNI, na sigla em inglês) permite que vários servidores de back-end HTTPS sejam veiculados do mesmo endereço IP e porta sem exigir que esses servidores de back-end usem o mesmo certificado TLS. É uma extensão do protocolo TLS. Quando o SNI é ativado em um cliente, o cliente passa o nome do host do servidor de back-end como parte do handshake de TLS inicial. Isso permite que servidor TLS para determinar qual certificado TLS deve ser usado para validar a solicitação do para o cliente.
Por padrão, a SNI está desativada no componente "Processador de mensagens" no Edge para a nuvem privada para garantir a compatibilidade com versões anteriores dos servidores de back-end atuais. Se o servidor de back-end for configurado para aceitar SNI, você precisa ativar o SNI no componente Processador de mensagens. Caso contrário, as solicitações de API que passam pelo Apigee Edge falharão com Falhas de handshake de TLS.
Neste documento, explicamos como:
- Identificar se um servidor de back-end está ativado para a SNI
- Ative a SNI nos processadores de mensagens para se comunicar com o back-end compatíveis com SNI
- Desative a SNI nos processadores de mensagens, se necessário.
- Verifique se a configuração da SNI foi atualizada no Processadores de mensagens
Antes de começar
- Se você não conhece a SNI, leia Como usar a SNI com o Edge.
- Se você não sabe como configurar o Edge na nuvem privada, leia Como configurar o Edge.
Identificação do servidor com SNI ativada
Esta seção descreve como identificar se um servidor de back-end está ou não ativado para o SNI.
-
Execute o comando
openssl
e tente se conectar ao nome do host do servidor relevante. (Roteador de borda ou servidor de back-end) sem transmitir o nome do servidor, conforme mostrado abaixo:openssl s_client -connect hostname:port
-
É possível conseguir os certificados e, às vezes, observar a falha de handshake no
openssl
, conforme mostrado abaixo:
CONNECTED(00000003) 9362:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.6/src/ssl/s23_clnt.c:593
-
Execute o comando
openssl
e tente se conectar ao servidor relevante. nome do host (roteador de borda ou servidor de back-end) transmitindo o nome do servidor, conforme mostrado abaixo:openssl s_client -connect hostname:port -servername hostname
- Se você receber uma falha de handshake na etapa 1 ou certificados diferentes nas etapas 1 e 2, indica que o servidor especificado está com o SNI ativado.
- Se você quiser verificar isso para mais de um servidor de back-end, precisará repita as etapas acima para cada servidor de back-end.
Se você tiver um ou mais servidores de back-end com SNI ativada, precisará ativar o SNI no componente Processador de mensagens, conforme explicado abaixo. Caso contrário, a API solicitações que passam pelo Apigee Edge falharão com Falhas de handshake de TLS.
Ativar SNI entre processadores de mensagens de borda e o servidor de back-end
Esta seção explica como ativar o SNI entre o Edge Message Processor e o back-end
servidor. O SNI pode ser ativado pela propriedade jsse.enableSNIExtension
em
o componente Processador de mensagens. Para configurar qualquer propriedade no processador de mensagens, use
token de acordo com a sintaxe descrita em
Como configurar o Edge.
Para ativar a SNI nos processadores de mensagens, siga estas etapas:
Localizar token para a propriedade jsse.enableSNIExtension
As etapas a seguir descrevem como localizar o token do
Propriedade jsse.enableSNIExtension
:
-
Pesquise a propriedade
jsse.enableSNIExtension
na origem do processador de mensagens. diretório/opt/apigee/edge-message-processor/source
usando o seguinte comando:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
A saída desse comando mostra o token da propriedade do processador de mensagens
jsse.enableSNIExtension
da seguinte maneira:/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
Em que a string entre as tags
{T}{/T}
é o nome do token que que podem ser definidas no arquivo.properties
do processador de mensagens.Portanto, o token da propriedade
jsse.enableSNIExtension
é o seguinte:conf_system_jsse.enableSNIExtension
Ativar SNI no processador de mensagens
As etapas a seguir descrevem como ativar a SNI no componente do processador de mensagens da Apigee.
- Na máquina do processador de mensagens, abra o arquivo a seguir em um editor. Se não
já existe, então crie-o.
/opt/apigee/customer/application/message-processor.properties
Por exemplo, para abrir o arquivo usando
vi
, digite o seguinte comando:vi /opt/apigee/customer/application/message-processor.properties
-
Adicione uma linha no seguinte formato ao arquivo de propriedades:
conf_system_jsse.enableSNIExtension=true
- Salve as alterações.
-
Verifique se esse arquivo de propriedades pertence ao usuário
apigee
, conforme mostrado abaixo:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Reinicie o processador de mensagens conforme mostrado abaixo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Verifique se a configuração da SNI está atualizada no Processador de mensagens.
- Se você tiver mais de um processador de mensagens, repita as etapas acima em todos Processadores de mensagens
Desativar SNI entre processadores de mensagens de borda e o servidor de back-end
Geralmente, você não terá problemas depois de ativar a SNI. No entanto, se você observar quaisquer problemas de conectividade entre o processador de mensagens de borda e o servidor de back-end após Ao ativar a SNI, você sempre poderá desativá-la seguindo as etapas abaixo.
O SNI pode ser desativado ao definir a propriedade jsse.enableSNIExtension
de volta para false
no componente "Processador de mensagens".
Desativar SNI nos processadores de mensagens
As etapas a seguir descrevem como desativar a SNI nos processadores de mensagens da Apigee.
-
Na máquina do processador de mensagens, abra o arquivo a seguir em um editor. Se não
já existe, então crie-o.
/opt/apigee/customer/application/message-processor.properties
Por exemplo, para abrir o arquivo usando
vi
, digite o seguinte comando:vi /opt/apigee/customer/application/message-processor.properties
-
Se a linha
conf_system_jsse.enableSNIExtension=true
existir em/opt/apigee/customer/application/message-processor.properties
e modifique-o como da seguinte forma:conf_system_jsse.enableSNIExtension=false
- Salve as alterações.
-
Verifique se esse arquivo de propriedades pertence ao usuário
apigee
, conforme mostrado abaixo:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Reinicie o processador de mensagens conforme mostrado abaixo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Verifique se a configuração da SNI está atualizada no Processador de mensagens.
- Se você tiver mais de um processador de mensagens, repita as etapas acima em todos Processadores de mensagens
Como verificar a configuração do SNI nos processadores de mensagens
Esta seção explica como verificar se a configuração do SNI foi configurada atualizada nos processadores de mensagens.
Mesmo que você use o token conf_system_jsse.enableSNIExtension
para
configurar o SNI no processador de mensagens, você precisa verificar se a propriedade
jsse.enableSNIExtension
foi definido com o novo valor.
-
Na máquina do processador de mensagens, pesquise a propriedade
jsse.enableSNIExtension
. no diretório/opt/apigee/edge-message-processor/conf
e verifique se ele tem foi definido com o novo valor, conforme mostrado abaixo:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
Se a configuração SNI for atualizada com êxito no processador de mensagens, o
acima mostra o novo valor no arquivo
system.properties
.O resultado de amostra do comando acima depois de você ter ativado a SNI no processador de mensagens é o seguinte:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
Da mesma forma, o resultado da amostra do comando acima depois de você ter desativado o SNI no O processador de mensagens é o seguinte:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
No exemplo de saída acima, observe que a propriedade
jsse.enableSNIExtension
foi atualizado para o novo valortrue
oufalse
emsystem.properties
. Isso indica que o SNI foi ativado ou desativada no processador de mensagens. -
Se você ainda vir o valor antigo da propriedade
jsse.enableSNIExtension
, verifique se você seguiu todas as etapas descritas na seção apropriada para ativar ou desativar o SNI corretamente. Se você tiver pulado alguma etapa, repita-a corretamente. - Se você ainda não conseguir ativar/desativar a SNI , entre em contato Suporte do Apigee Edge.