Introdução
Este artigo aborda um caso de uso básico, como você pode ter em um ambiente de pré-produção. Todos os componentes do ArcGIS Enterprise (Portal, Server e Data Store) existem em uma única máquina em uma rede interna. O proxy reverso BIG-IP permite que o sistema seja apresentado a outra rede (pode ser uma rede interna de clientes ou uma rede pública) com todo o tráfego do cliente roteado através do dispositivo BIG-IP.

Este artigo está dividido em três seções principais. A primeira seção é destinada aos administradores do ArcGIS Enterprise e os orienta para suas tarefas na linguagem e termos que eles entendem. A segunda seção é destinada ao administrador do BIG-IP, esperando falar com eles na linguagem e termos que eles compreendem. A seção final aborda opções adicionais e detalhes apropriados para ambos os conjuntos de administradores.
O objetivo deste artigo é ajudar os administradores do ArcGIS e F5 a trabalharem juntos, descrevendo um conjunto comprovado de procedimentos em torno dos quais colaborar. Este artigo não busca capacitar os administradores do ArcGIS a configurarem o F5 por conta própria (ou vice-versa). Presume-se que os administradores do ArcGIS sejam especialistas em ArcGIS e dependam da documentação da Esri para detalhes. Da mesma forma, presume-se que os administradores do F5 sejam especialistas no BIG-IP e dependam da documentação da F5 para detalhes.
Embora o caso de uso seja "básico", o empreendimento não é "simples". O sucesso requer integrar tecnologia e conhecimento de vários domínios especializados (tecnologia Esri, tecnologia F5, redes, certificados, etc.). Se os procedimentos neste artigo não forem claros o suficiente para ação no seu contexto organizacional, pode ser um indicativo de que suporte consultivo externo seria benéfico.
Este artigo é construído com base nas seguintes especificidades do caso de uso:
- Uso do BIG-IP da F5 como uma "Camada OSI 7" ou "proxy completo"
- Uso do ArcGIS Enterprise onde o Web Adaptor é implantado com IIS no sistema operacional Windows
Instruções para Administradores do ArcGIS
O foco do administrador do ArcGIS é implantar o ArcGIS Enterprise de modo que esteja pronto para ser proxy pelo proxy reverso BIG-IP da F5. O objetivo da implantação é representado no diagrama abaixo.

Dependendo dos requisitos específicos, pode não ser necessário implantar Web Adaptors ao usar um proxy reverso. No entanto, recomenda-se que você faça isso pelos seguintes motivos:
- Usar Web Adaptors reduz a complexidade da configuração no proxy reverso BIG-IP.
- Web Adaptors permitem validar a correção do sistema ArcGIS Enterprise independentemente do proxy reverso; isso pode ser muito valioso em casos de solução de problemas.
- Embora Web Adaptors possam ser implantados em sistemas baseados em Linux usando um Servidor Web Java, a frequência de implantação no Windows com IIS é o motivo pelo qual este guia inicial foca nesse padrão.
Passo Um: Decisões de Design e Comunicação com Administradores F5
Nesta configuração, os clientes acessarão o ArcGIS Enterprise através do proxy reverso. O proxy reverso apresenta um CNAME ("alias DNS", mostrado em verde no diagrama abaixo) que termina as sessões HTTPS dos clientes. Ele então reinicia novas sessões HTTPS dele mesmo para o servidor web que hospeda os web adaptors. O servidor web geralmente apresenta um certificado com o nome do assunto do registro A (o nome do host, mostrado em vermelho no diagrama) que termina as sessões HTTPS recebidas do proxy reverso BIG-IP.

Antes de implantar seu sistema, você precisa tomar as seguintes decisões:
- Qual é o CNAME ("Alias DNS") sob o qual o proxy reverso representará o sistema ArcGIS Enterprise?
- Quais são os "contextos" ("nomes dos Web Adaptors", mostrados em azul no diagrama) para o Portal for ArcGIS e Sites do ArcGIS Server?
Você provavelmente precisará cooperar com seus administradores F5 para concordar sobre o CNAME e garantir que eles tenham um certificado TLS apropriado para terminar as comunicações HTTPS nesse CNAME. Ao mesmo tempo, você pode compartilhar com os administradores F5 o nome (o REGISTRO A) da máquina na qual seu servidor web operará e para a qual as solicitações devem ser encaminhadas.
Passo Dois: Implantar um Servidor Web com Certificado TLS
É útil implantar seu servidor web e configurá-lo com um certificado TLS para tráfego HTTPS antes de fazer qualquer coisa diretamente com o ArcGIS Enterprise. Isso permite garantir que o HTTPS esteja funcionando com seu servidor web e permite que os administradores F5 configurem o proxy reverso para o servidor web cedo no processo. Isso permite validação antecipada do certificado TLS e dos caminhos HTTPS.
Configurar HTTPS no Seu Servidor Web
Os passos de configuração para habilitar HTTPS com servidores web variam conforme a marca do servidor web. Como IIS é um servidor web muito comum, a Esri forneceu instruções sobre como configurá-lo para HTTPS como parte do guia de instalação do Web Adaptor: https://enterprise.arcgis.com/en/web-adaptor/latest/install/iis/enable-https-on-your-web-server-server-.htm.
Quando você habilita HTTPS no seu servidor web, precisará fornecer um certificado TLS. Entre outros atributos, certificados têm Assuntos e Nomes Alternativos ao Assunto (SANs). O Assunto do certificado deve corresponder ao nome que o proxy reverso BIG-IP usará para acessar o servidor web. Isso geralmente é o REGISTRO A (machine1.domain.local no diagrama). O SAN é uma lista de nomes alternativos. Uma boa prática para SANs é incluir:
- O nome do Assunto (ex.: machine1.domain.local)
- A versão curta do nome do assunto (ex.: machine1)
- O CNAME que o proxy reverso apresentará (ex.: gis.domain.com), se possível
Dependendo da autoridade certificadora e políticas da sua organização, você pode ou não conseguir colocar o CNAME no SAN. O benefício disso é permitir maior capacidade de validar o ArcGIS Enterprise independentemente do proxy reverso.
Validar
Uma vez que seu servidor web esteja configurado para HTTPS, você deve validar sua configuração. Primeiro, valide navegando diretamente ao seu servidor web em um navegador usando o protocolo HTTPS. Segundo, se seus administradores F5 configuraram o proxy reverso BIG-IP para encaminhar tráfego ao seu servidor web, você pode então navegar até o endpoint do servidor virtual do proxy reverso em um navegador, também usando HTTPS. Em cada caso, você quer confirmar que não recebe avisos de certificado e que a página alvo carrega corretamente.
Tipicamente, servidores web terão uma página padrão retornada quando você acessa a raiz do servidor web. Essa é uma boa opção. Uma opção melhor é implantar uma página web que permita ver mais sobre o que está acontecendo. As páginas showHeaders (uma para ASPX/IIS e outra para JSP: https://github.com/dannykrouk/showHeaders) ecoarão muitos detalhes úteis conforme mostrado abaixo:

Considere implantar e usar a página showHeaders no seu servidor web e usá-la como alvo tanto para seus testes no servidor web quanto no proxy reverso. Se você implantar a página na raiz do seu servidor web, poderá testar com estas requisições:
Passo Três: Implantar e Configurar ArcGIS Enterprise
A implantação do ArcGIS Enterprise aqui é uma "implantação base em máquina única" (https://enterprise.arcgis.com/en/get-started/latest/windows/base-arcgis-enterprise-deployment.htm#ESRI_SECTION1_690F8D4A3ABE4FB8AE926C118E9F8299).
Instalar e Configurar o Básico
A documentação para guiá-lo através das etapas de instalação está disponível no site da Esri: https://enterprise.arcgis.com/en/documentation/install/.
Neste artigo, o nome do Web Adaptor do Portal for ArcGIS ("contexto") é "/portal" e o nome do Web Adaptor do Hosting Server é "/server". Quando você federar seu Hosting Server Site com seu Portal for ArcGIS, poderá usar o Web Adaptor tanto para a URL dos Serviços quanto para a URL de Administração (https://enterprise.arcgis.com/en/portal/latest/administer/windows/configure-servers.htm), desde que você não esteja usando autenticação Web Tier. Se estiver usando autenticação Web Tier, sua URL de Administração deve seguir este padrão: https://machine1.domain.local:6443/arcgis.
Validar o Básico; "Verificação de Confiança do Sistema"
Depois de configurar seus Web Adaptors e federar seu Hosting Server, você deve realizar uma breve "verificação de confiança do sistema" para garantir que as funções principais funcionem corretamente.
Uma verificação típica de confiança do sistema envolveria:
- Login em /portaladmin
- Validar Federação
- Publicar um serviço
- Compartilhar o serviço
A "confiança" que se estabelece com esses passos é que o sistema implantado não possui nenhuma falha fundamental de configuração que impeça a operação básica.
Qualquer coisa que você criar (por exemplo, um serviço publicado) na verificação de confiança do sistema deve ser excluída antes de continuar.
Configuração Final para o Reverse Proxy
A etapa final da configuração é configurar o WebContextURL para o Portal e o Hosting Server. Esta propriedade é como cada servidor Esri sabe o nome pelo qual os clientes irão acessá-lo através do BIG-IP reverse proxy.
Portal for ArcGIS: https://enterprise.arcgis.com/en/portal/latest/administer/windows/using-a-reverse-proxy-server-with-portal-for-arcgis.htm#ESRI_SECTION1_7C753FB1F19349A398E5FFCC6079A821
{
"WebContextURL": "https://gis.domain.com/portal"
}ArcGIS for Server: https://enterprise.arcgis.com/en/server/latest/deploy/linux/using-a-reverse-proxy-server-with-arcgis-server.htm#ESRI_SECTION1_13680C9069E14B1F8AE5793BE1ED25A6
{
"WebContextURL": "https://gis.domain.com/server"
}Passo Quatro: Validação do Sistema
O quarto e último passo para o administrador ArcGIS é a "validação do sistema", independente do BIG-IP reverse proxy. Se você validar desta forma, e algo não funcionar quando as requisições passarem pelo reverse proxy, então a configuração do reverse proxy é que precisa de atenção. Se você não validar desta forma, pode ser muito mais complicado estabelecer a origem do problema.
Alterar Temporariamente a Resolução de Nome na Máquina do Servidor Web
O truque para essa validação é convencer temporariamente o sistema de que o CNAME (gis.domain.com) está na máquina ArcGIS Enterprise (machine1.domain.local). Se você tem permissões de administrador local na máquina machine1.domain.local, pode editar o arquivo hosts. Se machine1.domain.local tem o endereço IP 10.0.0.10, então a entrada no arquivo hosts seria assim:
10.0.0.10 gis.domain.com
Isto diz, "gis.domain.com pode ser encontrado em 10.0.0.10".
Quando terminar sua edição deste arquivo (que geralmente fica aqui: C:\Windows\System32\drivers\etc\hosts), abra um prompt de comando e confirme que sua configuração está efetiva com ping:
C:\>ping gis.domain.com
Pingando gis.domain.com [10.0.0.10] com 32 bytes de dados:
Resposta de <Endereço IP da machine1>: bytes=32 tempo=22ms TTL=124
…
O resultado do comando ping deve ser o endereço IP no seu arquivo hosts, o valor placeholder destacado acima para clareza.
Testar em um Navegador na Máquina do Servidor Web
Agora, abra um navegador web na machine1.domain.local e execute novamente sua "verificação de confiança do sistema", desta vez acessando o sistema pelo seu CNAME (https://gis.domain.com/portal/home/).
Se seu sistema funcionar corretamente desta forma, reverta a alteração no arquivo hosts e peça aos administradores F5 para completar seu trabalho de configuração.
Instruções para Administrador F5
Do ponto de vista do BIG-IP, esta é uma configuração simples. O sistema ArcGIS Enterprise tem vários componentes. Mas, do ponto de vista do reverse proxy, há um único nó servidor web back-end escutando em HTTPS/443. O único elemento da configuração que pode ser diferente de outros sistemas é que ArcGIS Enterprise requer que o reverse proxy inclua um cabeçalho X-Forwarded-Host.
Em alto nível, sua configuração proxy irá terminar todo tráfego HTTPS para o CNAME gis.domain.com e reiniciar HTTPS para o único nó back-end, machine1.domain.local. O servidor web neste endereço suporta dois "contextos", um para cada componente principal do sistema ArcGIS Enterprise (Portal for ArcGIS e ArcGIS Server): /portal e /server.

Como descrito na introdução deste artigo, assumimos que você tem três redes associadas ao seu proxy BIG-IP, uma rede cliente, uma rede servidor e sua rede administrativa.
Este artigo assume que você é um especialista em administração BIG-IP e só precisa de dicas sobre os passos para configurar este servidor virtual e pool back-end na ordem ideal.
Passo Um: Proxy para o Servidor Web
O CNAME para este sistema deve ter sido estabelecido com você ou comunicado a você. Um certificado TLS correspondente para esse CNAME também deve ser fornecido. A autoridade certificadora deve ser uma confiável pelos clientes deste sistema.
Instalar o Certificado TLS
Instale o certificado TLS para o Servidor Virtual no BIG-IP (por exemplo, Assunto gis.domain.com)
Sistema > Gerenciamento de Certificados > Gerenciamento de Certificados de Tráfego > Lista de Certificados SSL > Importar Certificado SSL

Criar Perfil SSL Cliente
Crie um perfil cliente para terminar conexões TLS cliente no certificado para o nome gis.domain.com.
Tráfego Local > Perfis > SSL > Cliente > Criar

Criar um Pool com Monitor Simples
Crie um Pool back-end para o servidor web (por exemplo, https://machine1.domain.local/ ) com um Monitor Simples para determinar se o recurso nó está "ativo" ou "inativo".
Tráfego Local > Pools > Lista de Pools > Criar
<\/span><\/H3> <\/P>Criar um Perfil de Serviços HTTP (Adicionar o Cabeçalho X-Forwarded-Host)<\/H3>O cabeçalho X-Forwarded-Host permite que o ArcGIS Enterprise saiba o valor do cabeçalho Host que chegou ao BIG-IP. O sistema ArcGIS Enterprise verificará esse valor em relação à sua configuração para garantir que os clientes o tenham endereçado de maneira apropriada. Se o cabeçalho X-Forwarded-Host não estiver presente, ou contiver um valor incorreto, o ArcGIS Enterprise emitirá um redirecionamento HTTP para sinalizar como acredita que deve ser endereçado. Isso pode resultar em loops de redirecionamento. Caso o ArcGIS Enterprise detecte um loop de redirecionamento, ele o interromperá e retornará um erro.<\/P>Um cabeçalho X-Forwarded-Host pode ser incluído com uma iRule:<\/P>when HTTP_REQUEST {
HTTP::header insert X-Forwarded-Host [HTTP::host]
}<\/PRE> <\/P>Esta diretiva pega o valor do cabeçalho Host da requisição que chega e define-o como o valor do cabeçalho X-Forwarded-Host para o pool padrão.<\/P>Criar o Servidor Virtual<\/H3>Local Traffic > Virtual Servers > Create<\/P>Selecione "Standard" para Tipo de Servidor Virtual. Especifique seu Perfil SSL (Client) que você criou anteriormente com seu certificado SSL. Ao especificar um perfil de Servidor, o objetivo da configuração é alcançar um túnel TLS para o backend. Isso pode ser realizado com a configuração padrão "serverssl" dentro do BIG-IP. Defina "Source Address Translation" para Auto Map.<\/P>
<\/span><\/P> Na aba Resources, selecione seu pool que você criou anteriormente.<\/P>
<\/span><\/P> <\/P>Passo Dois: Validar o Proxy para o ArcGIS Enterprise<\/H2>Existem dois passos para validar a eficácia desta configuração. <\/P>Validar Confiança e Cabeçalhos<\/H3>Assumindo que a página showHeaders.aspx foi implantada no servidor web backend, use um navegador para acessar https:\/\/gis.domain.com\/showHeaders.aspx<\/A>. O navegador deve estar livre de avisos de confiança de certificado. O corpo da resposta da página deve comprovar a eficácia do aspecto do cabeçalho X-Forwarded-Host da sua configuração.<\/P>
<\/span><\/P> <\/P>Neste ponto, com o fluxo do cabeçalho confirmado até o backend, não há mais necessidade da ferramenta showHeaders.aspx. Se seu sistema for destinado à PRODUÇÃO, ou qualquer ambiente onde as informações expostas não devem ser reveladas, a ferramenta deve ser removida.<\/P>
Estas instruções estipularam "verificações de confiança do sistema" e validações ao longo do processo de implantação/configuração. Essas medidas foram destinadas a determinar se era razoável continuar para a próxima etapa das instruções. Essas medidas não provam que o sistema é aceitável. Ao final, assumimos que todo o sistema funciona. Em outras palavras, esses testes estabelecem que o sistema tem coerência funcional.
Passar o sistema para teste de aceitação é a próxima etapa apropriada. O objetivo do teste de aceitação é medir o sistema implantado em relação aos objetivos de negócios que ele deve suportar.
Verificação de Saúde
A Monitorização Simples incluída nas instruções para os administradores F5 permite que o BIG-IP pare de encaminhar solicitações para o sistema ArcGIS Enterprise se o nó (ou seja, machine1.domain.local) estiver fora do ar ou inacessível. Para um sistema como este, com apenas um membro no Pool backend, esta (uma Monitorização Simples) é toda a extensão da verificação recomendada de saúde.
Em princípio, o BIG-IP pode ser configurado com verificações de saúde fora de banda que solicitam ao software ArcGIS Enterprise confirmar sua saúde ou validar que solicitações HTTPS específicas têm sucesso com cargas úteis específicas na resposta. Por exemplo, o componente Portal for ArcGIS do ArcGIS Enterprise expõe este endpoint: https://developers.arcgis.com/rest/enterprise-administration/portal/health-check-portal.htm. Em um sistema de nó único, a resposta a um problema na verificação de saúde essencialmente elimina todo acesso ao sistema. A vantagem disso é que o proxy reverso pode fornecer um erro genérico aos clientes informando que o sistema está fora do ar. A desvantagem disso é que um problema temporário, parcial ou uma má interpretação através da verificação de saúde elimina todo acesso ao sistema quando ele ainda poderia estar utilizável para muitos casos de uso. A probabilidade de falsos negativos (resultados indicando problema) associados às verificações formais/complejas pode resultar em menor confiabilidade do sistema para os usuários finais em comparação aos falsos positivos (resultados indicando saúde) associados à monitorização simples do nó. Em outras palavras, para um sistema de nó único complexidade é inimiga da confiabilidade; mantenha-se em uma Monitorização Simples.
Créditos
Este artigo foi produzido com base no trabalho de Roger Schlogel, consultor dos Serviços Profissionais da Esri.