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 obter mais informações, consulte Verificação de Desempenho.
Aviso:
A configuração detalhada neste tópico deve ser executada antes de federar qualquer site do ArcGIS Server. Se você precisar atualizar o nome DNS da URL da sua organização sem alterar a arquitetura, como o balanceador de carga ou o proxy reverso, consulte Atualizar a URL da organização. Não há suporte para modificar sua arquitetura de entrada. Para obter assistência, entre em contato com a Esri Consulting Services ou outro parceiro de consultoria confiável.
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 da camada 7 às vezes são chamados de balanceadores de carga de aplicativo ou balanceadores de carga com reconhecimento 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.
- Configure o ArcGIS Web Adaptor com seu portal se o seu portal for utilizar Autenticação Integrada do Windows. O Portal for ArcGIS requer o uso do ArcGIS Web Adaptor para esta finalidade, e isso permite que o servidor proxy reverso se comunique com seu portal corretamente. Para instruções completas, consulte Configurar o ArcGIS Web Adaptor.
Anotação:
O Portal for ArcGIS não oferece suporte ao descarregamento de SSL por meio de um servidor proxy reverso ou balanceador de carga. Se sua configuração usar um servidor proxy reverso, ele deverá encaminhar o tráfego ao ArcGIS Web Adaptor ou diretamente ao Portal for ArcGIS por HTTPS.
Anotação:
Você deve garantir 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.example-domain.com/enterprise, mas você não pode ter uma URL de proxy reversa, como https://proxy.example-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 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 carregar, se as respostas não estiverem compactadas. É recomendado 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 sessões SSL do cliente no servidor web interno do Portal for ArcGIS, certifique-se de que o certificado SSL apresentado pelo servidor web seja válido tanto para o nome alternativo do DNS quanto para o nome de domínio totalmente qualificado (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:
Se você não estiver usando o ArcGIS Web Adaptor, o contexto padrão (/arcgis) deve ser usado para o site. Ao integrar com múltiplos sites do Portal for ArcGIS e ArcGIS Server no mesmo balanceador de carga de camada 3/4, use um registro DNS único para cada site e uma Indicação de Nome de 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. No Portal for ArcGIS, espera-se que essa propriedade seja definida no cabeçalho enviado pelo servidor proxy reverso e retorne solicitações 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 parâmetro das máquinas no ArcGIS Portal Administrator Directory para visualizar o nome de host da máquina executando o Portal for ArcGIS.
Por exemplo, um pedido para o ArcGIS Portal Directory (https://dnsalias.example-domain.com/arcgis/sharing/rest) será 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.example-domain.com/arcgis/sharing/rest). Isso é problemático, pois os clientes não conseguem acessar essa URL (comumente conhecida como 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 do Location devem ser reescritos no balanceador de carga para garantir que o FQDN e o contexto da resposta correspondam ao valor do portal WebContextURL.
Adicionar um portal
As seções a seguir descrevem como adicionar o Portal for ArcGIS para o servidor proxy reverso da sua organização.
Balanceador de carga 3/4 da camada: Adicionar máquinas do 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 Transmission Control Protocol (TCP), a máquina ou máquinas de cada site deverão ser adicionadas à configuração do balanceador de carga. Se você estiver usando o ArcGIS Web Adaptor, os destinos de back-end devem apontar para a porta do servidor ou servidores web (normalmente 443 ou 8443) que hospedam o adaptador web 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 httpd.conf conforme mostrado no exemplo a seguir:
ProxyPass /webadaptorname https://webadaptorhost.example-domain.com/webadaptorname
ProxyPassReverse /webadaptorname https://webadaptorhost.example-domain.com/webadaptornameAs diretivas ProxyPass devem corresponder ao nome designado para ArcGIS Web Adaptor (/webadaptorname no exemplo acima). Se você não estiver usando o ArcGIS Web Adaptor à frente do Portal for ArcGIS, adicione as seguintes diretivas onde /context é o caminho de nível superior da URL escolhido:
ProxyPass /context https://portal.domain.com:7443/arcgis
ProxyPassReverse /context https://portal.domain.com:7443/arcgisConfigurar um portal para usar um proxy reverso ou balanceador de carga
As seções abaixo descrevem como configurar seu portal para usar a URL do servidor proxy reverso e as tarefas administrativas que devem ser refeitas depois 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.
Para definir a propriedade WebContextURL, conclua as seguintes etapas:
- Abra um navegador da web e entre no Portal Administrator Directory como um membro do papel de Administrador padrão na sua organização.
A URL está formatada como https://organization.example-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.example-domain.com/portal" }Anotação:
O Portal for ArcGIS suporta somente uma única URL de organização.
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 coisa que você acessar no portal ou no Portal Administrator 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 o valor do tempo limite do servidor de proxy reverso é muito pequeno. Para corrigir isto, considere aumentar o valor de tempo limite para permitir execução de pedidos longos, tal como, federar um servidor, para concluir.