Um servidor proxy reverso ou balanceador de carga é um dispositivo normalmente implantado em uma rede de perímetro (também conhecida como zona desmilitarizada [DMZ] ou subrede filtrada) que lida com solicitações da Internet e as encaminha para as máquinas em sua rede interna. O encaminhamento de pedidos em benefício do servidor proxy reverso mascara a identidade das máquinas atrás de um firewall da sua organização, deste modo protegendo máquinas internas de serem atacadas diretamente por usuários da Internet. As funções de segurança adicionais pode ser implementadas no servidor proxy reverso para proteger sua rede interna de usuários externos.
Se o seu servidor proxy reverso ou balanceador de carga suportar uma função de verificação de desempenho, você poderá utilizar o parâmetro de verificação de desempenho do Portal for ArcGIS para determinar se o portal está disponível para receber pedidos. Isto é útil para determinar rapidamente se há um software ou falha de hardware no site. Para mais informações, consulte tópico do portal Verificação de Desempenho da API ArcGIS REST.
Aviso:
A configuração detalhada neste tópico deve ser executada antes de federar qualquer site do ArcGIS Server com seu portal do ArcGIS Enterprise. A adição de um nome alternativo de DNS ou proxy reverso depois que um site do ArcGIS Server foi federado com seu portal não é suportado. Se você precisar alterar o nome do host na URL da sua organização, entre em contato com os Serviços Profissionais da Esri ou outro parceiro de consultoria confiável para obter orientação.
Desfederar um site do ArcGIS Server tem diversas consequências significativas e não é desfeito facilmente. Para aprender mais, consulte Administrar um servidor federado.
Tipos de balanceador de carga
Os proxies reversos às vezes são referenciados como balanceadores de carga, mas geralmente oferecem mais funcionalidade do que apenas distribuir mensagens de entrada entre destinos de back-end. Muitas implementações do servidor proxy reverso podem operar em qualquer capacidade descrita abaixo, dependendo da configuração.
As ações de balanceamento de carga costumam ser diferenciadas pela camada do modelo OSI (Open Systems Interconnection) no qual operam. Ao trabalhar para integrar uma tecnologia do balanceador de carga existente, é importante identificar qual tipo está sendo implementado, pois isso afeta a arquitetura geral da implantação.
Os balanceadores de carga 3/4 da camada às vezes são demonimados de balanceadores de carga da rede ou de nível do pacote. Esses balanceadores de carga normalmente não inspecionam o tráfego de entrada e, em vez disso, roteiam os pacotes TCP/UDP de entrada para os destinos de back-end. Implementações mais recentes permitem a terminação SSL no balanceador de carga, mas a sessão SSL do cliente é normalmente estabelecida com o servidor ou servidores de destino de back-end.
Os balanceadores de carga 7 da camada às vezes são denominados de balanceadores de carga com reconhecimento de aplicativo ou de aplicativo. Esses balanceadores de carga inspecionam as mensagens de entrada e podem tomar decisões de roteamento com base em vários fatores, como tamém, modificar o conteúdo dessas mensagens antes de enviá-las para o destino ou destinos de back-end. Os balanceadores de carga 7 da camada que usam HTTPS encerrarão a comunicação SSL com o cliente e criptografarão novamente esse tráfego antes de encaminhar as solicitações para os destinos HTTPS de back-end.
Preparar um servidor proxy reverso ou balanceador de carga
Antes de adicionar o Portal for ArcGIS no servidor proxy reverso da sua organização, você deve completar o seguinte:
- Configure HTTPS (HTTP e HTTPS ou somente HTTPS) no servidor proxy reverso. O Portal for ArcGIS utiliza HTTPS para comunicação por padrão. Consulte a documentação do produto para seu servidor proxy para informações sobre como instalar HTTPS.
Anotação:
O Portal for ArcGIS não oferece suporte ao descarregamento de SSL por meio de um servidor proxy reverso/balanceador de carga. Portanto, se a sua configuração usar um servidor proxy reverso, ela deverá encaminhar o tráfego ao ArcGIS Web Adaptor ou diretamente ao Portal for ArcGIS por HTTPS.
Anotação:
Se você não utilizar ArcGIS Web Adaptor em sua implantação, certifique-se que o nome de contexto do servidor de proxy reverso siga para somente um nível de detalhes da URL. Por exemplo, você pode ter uma URL de proxy reversa como https://proxy.domain.com/enterprise, mas você não pode ter uma URL de proxy reversa, como https://proxy.domain.com/myorg/enterprise.
Verifique se o servidor proxy suporta codificação gzip e está configurado para permitir o cabeçalho Accept-Encoding. Este cabeçalho permite que respostas do HTTP 1.1 sejam compactadas utilizando a codificação gzip. Por exemplo, se o cabeçalho tiver permissão, um pedido para carregar o Map Viewer Classic retornará uma resposta compactada de aproximadamente 1.4 MB para o navegador. Se o cabeçalho não tiver permissão ou for ignorado, o pedido retornará uma resposta descompactada de aproximadamente 6.8MB para o navegador. Se a sua velocidade de rede for lenta, ela poderá demorar muito tempo para o Map Viewer Classic carregar, se as respostas não estiverem compactadas. É recomendado pela Esri que você permita este cabeçalho como parte da sua configuração do servidor proxy reverso.
Balanceador de carga 3/4 da camada
O balanceador de carga deve escutar na porta HTTPS padrão e passar o tráfego para o ArcGIS Web Adaptor ou diretamente para a máquina ou máquinas do Portal for ArcGIS na porta 7443. Ao encerrar as sessões SSL cliente no servidor da web interno do Portal for ArcGIS, certifique-se que o certificado SSL apresentado por esse servidor da web seja válido para o nome alternativo de DNS e FQDN da máquina ou máquinas no site para evitar problemas de confiança do certificado. Normalmente, isso pode ser obtido usando nomes alternativos de assunto para o certificado SSL.
Anotação:
Quando não usar o ArcGIS Web Adaptor, o contexto padrão (/arcgis) deverá ser usado para o site. Ao integrar com múltiplos sites do Portal for ArcGIS e ArcGIS Server no mesmo balanceador de carga 3/4 da camada, um registro DNS único deve ser usado para cada site e a identificação de nome do servidor (SNI) usada para rotear o tráfego para os destinos de back-end apropriados.
Balanceador de carga 7 da camada
Na configuração do balanceador de carga, um cabeçalho X-Forwarded-Host deve ser definido para o nome de host do nome alternativo de DNS do site. O Portal for ArcGIS espera ver esta propriedade configurada no cabeçalho enviado pelo servidor proxy reverso e retornará pedidos que correspondam à URL do servidor proxy reverso. Se você não estiver usando ArcGIS Web Adaptor com o portal, confirme se o cabeçalho Host definido pelo balanceador de carga corresponde ao nome de host da máquina onde Portal for ArcGIS está instalado.
Dica:
Você pode utilizar o ponto final das máquinas no ArcGIS Portal Administrator Directory para visualizar o nome do host da máquina executando o Portal for ArcGIS.
Por exemplo, um pedido ao parâmetro Portal for ArcGIS de REST (https://dnsalias.domain.com/arcgis/sharing/rest) do retornado ao cliente como a mesma URL. Se a propriedade não estiver configurada, o Portal for ArcGIS poderá retornar a URL da máquina interna para a qual o pedido foi direcionado (por exemplo, https://portal.domain.com/arcgis/sharing/rest em vez de https://dnsalias.domain.com/arcgis/sharing/rest). Isto é problemático, pois clientes não poderão acessar esta URL (comumente notado como um erro 404 do navegador). Além disso, fornece ao cliente acesso para algumas informações sobre a máquina interna.
Junto com o cabeçalho X-Forwarded-Host, seu balanceador de carga deve ser capaz de direcionar (códigos 301 ou 302 de resposta HTTP). Todos os cabeçalhos Location devem ser regravados no balanceador de carga para garantir que o nome de domínio completamente qualificado (FQDN) e o contexto da resposta correspondam ao valor WebContextURL do portal.
Adicionar um portal
As seguintes seções descrevem como adicionar Portal for ArcGIS ao servidor proxy reverso da sua organização.
Balanceador de carga 3/4 da camada: Adicionar máquinas de ArcGIS Web Adaptor ou Portal for ArcGIS na configuração do balanceador de carga
Já que o proxy do tráfego para os destinos de back-end ocorrerá por meio de TCP, a máquina ou máquinas de cada site deverão ser adicionadas à configuração do balanceador de carga. Se estiver usando o ArcGIS Web Adaptor, os destinos de back-end dever'ao apontar para a porta do servidor ou servidores da web (normalmente 443 ou 8443) que hospedam o web adaptor ou adaptadores. Ao fazer proxy do tráfego diretamente no Portal for ArcGIS, os destinos de back-end devem apontar para a porta 7443 em cada máquina no site.
Balanceador de carga 7 da camada: Adicionar máquinas deArcGIS Web Adaptor ou Portal for ArcGIS às diretivas do servidor proxy
Após configurar o ArcGIS Web Adaptor com Portal for ArcGIS, ArcGIS Web Adaptor poderá ser utilizado com seu servidor proxy reverso da organização adicionando os componentes diretamente para as instruções do servidor proxy. Por exemplo, se você utilizar Apache como um proxy reverso, você precisará adicionar o ArcGIS Web Adaptor às diretivas ProxyPass no arquivo de configuração do servidor da web Apache : httpd.conf:
ProxyPass /webadaptorname https://webadaptorhost.domain.com/webadaptorname
ProxyPassReverse /webadaptorname https://webadaptorhost.domain.com/webadaptorname
As instruções de ProxyPass devem corresponder o nome designado do ArcGIS Web Adaptor (/webadaptorname na amostra acima). Quando não utilizar ArcGIS Web Adaptor paraPortal for ArcGIS, adicione as seguintes diretivas onde /context é o caminho de nível superior da URL escolhida:
ProxyPass /context https://portal.domain.com:7443/arcgis
ProxyPassReverse /context https://portal.domain.com:7443/arcgis
Configurar um portal para usar um proxy reverso ou balanceador de carga
As seguintes seções descrevem como configurar seu portal para usar a URL do servidor proxy reverso e as tarefas administrativas que devem ser refeitas assim que a URL for configurada.
Configurar a propriedade WebContextURL
A propriedade WebContextURL do portal, ajuda a construir URLs corretas em todos os recursos que ela envia para o usuário final. Faça o seguinte para alterar o WebContextURL:
- Abra um navegador da web e entre no ArcGIS Portal Directory como um membro do papel de Administrador padrão na sua organização do portal. A URL está formatada como https://portal.domain.com:7443/arcgis/portaladmin.
- Clique em Sistema > Propriedades > Atualizar Propriedades.
- Na caixa de diálogo Atualizar Propriedades do Sistema, insira o seguinte JSON, substituindo seu próprio servidor proxy reverso ou nome alternativo de URL do DNS como visualizado por usuários fora do firewall da sua organização.
{ "WebContextURL": "https://dnsalias.domain.com/portal" }
Anotação:
O Portal for ArcGIS somente suporta um DNS único.
Anotação:
Você não pode utilizar uma porta diferente do padrão (isto é, uma porta diferente de 443) ao configurar a propriedade WebContextURL.
- Clique em Atualizar Propriedades.
Refazer administrativas comuns
Após configurar o servidor proxy reverso com seu portal, você agora acessará seu portal através da URL do servidor proxy reverso, ao invés da URL do ArcGIS Web Adaptor. Qualquer item que você acessar no site da web do portal ou ArcGIS Portal Directory retornará a URL do servidor proxy reverso.
As seguintes tarefas administrativas devem ser refeitas utilizando a URL do servidor proxy reverso:
Se você adicionou anteriormente serviços seguros como itens no seu portal, você precisará excluir os itens originais e adicioná-los novamente. Isto é devido aos itens originais utilizarem a URL do ArcGIS Web Adaptor ao invés da URL do servidor proxy reverso. Para instruções, consulte Conectar os serviços seguros.
Após configurar seu servidor de proxy reverso com o portal, você pode precisar ajustar suas configurações. Por exemplo, se operações ou pedidos dentro de seu desenvolvimento falharem com um erro indicando o tempo de conexão excedida, o problema pode ser que seu valor do tempo limite do servidor de proxy reverso é muito pequeno. Para corrigir este erro, considere aumentar o valor de tempo limite para permitir execução de pedidos longos, tal como, federar um servidor, para concluir.