Usando um balanceador de carga com servidor proxy do Edge

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • Você pode usar um balanceador de carga para balancear a carga entre os servidores proxy na configuração do proxy Edge Encryption. Se o balanceador de carga e os servidores proxy estiverem usando portas diferentes, especifique o nome do host e a porta HTTPS do balanceador de carga para permitir que os usuários exibam respostas em seus navegadores.

    Importante:
    Todos os ambientes de produção devem incluir pelo menos dois servidores proxy do Edge Encryption para redundância.

    Processamento de solicitação do Edge sem um balanceador de carga

    Se não estiver usando um balanceador de carga, uma solicitação será processada conforme descrito abaixo.
    1. O usuário emite uma solicitação de um navegador.
    2. O navegador envia a solicitação para o servidor proxy do Edge.
    3. O servidor proxy envia a solicitação para a instância da ServiceNow.
    4. A instância da ServiceNow retorna a resposta ao servidor proxy.
    5. O servidor proxy adiciona seu próprio número de porta no cabeçalho da resposta antes de retornar a resposta ao navegador do usuário.

    A solicitação foi concluída com sucesso porque o usuário pode visualizar a resposta do servidor proxy no número de porta especificado no cabeçalho da resposta.

    Processamento de solicitação do Edge com um balanceador de carga

    No entanto, se você estiver utilizando um balanceador de carga, o navegador do usuário se comunicará diretamente com o balanceador de carga, não com o servidor proxy. Uma solicitação será processada conforme descrito abaixo.
    Nota:
    O exemplo a seguir usa 1025 como o número da porta do servidor proxy.
    1. O usuário emite uma solicitação de um navegador.
    2. O navegador envia a solicitação para um IP Virtual (VIP) do balanceador de carga, também conhecido como Servidor virtual.
    3. O VIP está configurado para apontar para o servidor proxy (por exemplo, 10.2.200.148:1025), portanto, o balanceador de carga encaminha a solicitação para o servidor proxy.
    4. O servidor proxy envia a solicitação para a instância da ServiceNow.
    5. A instância da ServiceNow retorna a resposta ao servidor proxy.
    6. O servidor proxy reescreve o cabeçalho do local na resposta com valores configurados nas propriedades de risk-servicenow.dev.echonet: 1025.
      • Host: edgencryption.proxy.host
      • Porta HTTP: edgeencryption.proxy.http.port
      • Porta HTTPS: edgeencryption.proxy.https.port
    7. O servidor proxy encaminha a resposta para o balanceador de carga com o cabeçalho do local apontando para a porta do servidor proxy.
    O resultado depende de o balanceador de carga e os servidores proxy estarem usando a mesma porta.
    • Se o balanceador de carga e os servidores proxy estiverem usando a mesma porta, a solicitação será bem-sucedida porque o usuário receberá a resposta da mesma porta identificada no cabeçalho de resposta.
    • Se o balanceador de carga e os servidores proxy estiverem usando portas diferentes, a solicitação falhará porque o navegador do usuário se comunicará somente com o balanceador de carga, mas a resposta estará no servidor proxy.

    Solução

    O problema poderia ser resolvido simplesmente usando o balanceador de carga e todos os servidores proxy do Edge na mesma porta, mas essa não é a solução ideal. Uma solução melhor seria habilitar o sistema para identificar qual porta o balanceador de carga usa.

    As propriedades a seguir permitem que o servidor proxy do Edge redirecione as mensagens de resposta para o balanceador de carga se o servidor proxy e o balanceador de carga estiverem usando portas diferentes.
    • edgeencryption.proxy.rewrite.location.host especifica o nome do host usado para acessar a ServiceNow por meio do balanceador de carga.
    • edgeencryption.proxy.rewrite.location.https.port especifica a porta HTTPS usada para acessar a ServiceNow por meio do balanceador de carga.

    Configurar o balanceador de carga

    Se o balanceador de carga e os servidores proxy estiverem usando portas diferentes, especifique o nome do host e a porta HTTPS do balanceador de carga para permitir que os usuários exibam respostas em seus navegadores.

    Antes de Iniciar

    Funções necessárias:
    • administrador local ou de domínio em um host do Windows
    • usuário do serviço com acesso total ao sistema de arquivos em um host Linux

    Procedimento

    1. Faça login no host do servidor proxy como administrador, administrador de domínio ou usuário do serviço.
    2. Navegue até o diretório de instalação do proxy do Edge e selecione conf/edgeencryption.properties.
    3. Configure as seguintes propriedades:
      Propriedade Descrição
      edgeencryption.proxy.rewrite.location.host Se sua configuração do Edge incluir um balanceador de carga para balancear a carga entre os servidores proxy, as respostas serão reescritas no balanceador de carga para que as solicitações possam ser concluídas.
      • Se houver um balanceador de carga na configuração do proxy, especifique o nome do host usado para acessar a ServiceNow por meio do balanceador de carga.
      • Opcional: se não houver nenhum balanceador de carga na configuração do proxy, você poderá definir este valor como o nome do host usado pelo servidor proxy.
      edgeencryption.proxy.rewrite.location.https.port Se sua configuração do Edge incluir um balanceador de carga para balancear a carga entre os servidores proxy, especifica a porta HTTPS usada para acessar a ServiceNow por meio do balanceador de carga.
      • Se houver um balanceador de carga na configuração, especifique a porta HTTPS usada para acessar a ServiceNow por meio do balanceador de carga.
      • Opcional: se não houver nenhum balanceador de carga na configuração do proxy, você poderá configurar este valor como a porta HTTPS usada pelo servidor proxy.
    4. Salve o arquivo.

    Resultado

    As solicitações podem ser concluídas porque os usuários agora podem exibir as respostas em seus navegadores.