Um servidor proxy reverso é um computador que é implantado dentro de uma rede de perímetro (também conhecida como uma zona desmilitarizada [DMZ] ou sub rede) que manipula os pedidos da Internet e os encaminham para as máquinas na sua rede interna. Ao encaminhar solicitações, o servidor proxy reverso mascara a identidade das máquinas atrás do firewall da sua organização, protegendo as máquinas internas de ataques diretos de 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.
Você pode configurar seu site do ArcGIS Notebook Server para usar o servidor proxy reverso da sua organização. Isto é opcional. Se sua organização não usa um proxy reverso, ou se você não deseja configurar seu site do ArcGIS Notebook Server para usar um, você pode continuar configurando seu site com um portal.
Adicione o ArcGIS Notebook Server ao seu servidor proxy reverso.
O servidor proxy reverso da sua organização deve ser configurado para se comunicar com ArcGIS Web Adaptor adicionando as URLs correspondentes às diretivas de proxy.
Por exemplo, se estiver usando o Apache como um servidor proxy reverso, você precisará adicionar o URL do ArcGIS Web Adaptor às diretivas ProxyPass no arquivo httpd.conf de configuração do servidor da web Apache da seguinte maneira:
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
Configurar a propriedade WebContextURL
Se você estiver usando um servidor proxy reverso e a URL do seu site não terminar com a string padrão /arcgis (todas em letras minúsculas), você também deve definir a propriedade ArcGIS Notebook Server WebContextURL. Isso ajuda o ArcGIS Notebook Server a construir as URLs corretas nos recursos que envia ao usuário final.
Anotação:
Utilize a propriedade WebContextURL para configurar a URL do ArcGIS Notebook Server para corresponder ao seu ArcGIS Web Adaptor (tal como /notebook).
- Entre no ArcGIS Notebook Server Administrator Directory em https://notebookserver.domain.com:11443/arcgis/admin como um usuário com privilégios de administrador.
- Clique em sistema > propriedades > atualizar.
- Na caixa de texto Propriedades, insira o seguinte JSON, substituindo sua própria URL ArcGIS Notebook Server conforme visto por usuários fora do firewall de sua organização:
{ "WebContextURL": "https://notebookserver.domain.com/notebook" }
- Clique em Atualizar.
- Reinicie o ArcGIS Notebook Server. No Linux, execute o stopnotebookserver.sh e scripts startnotebookserver.sh localizado na pasta da instalação.
Cabeçalhos de proxy reverso e ArcGIS Notebook Server
Ao integrar seu proxy reverso com ArcGIS Web Adaptor, a seguinte propriedade deve ser definida no cabeçalho enviado pelo servidor proxy reverso:
X-Forwarded-Host=<FQDN of reverse proxy server>
Se essa propriedade for configurada no cabeçalho, o ArcGIS Web Adaptor retornará solicitações ao servidor proxy reverso que correspondem à URL do servidor proxy reverso. Por exemplo, uma solicitação ao Diretório de serviços do ArcGIS Notebook Server (https://reverseproxy.domain.com/arcgis/rest/services) será retornada ao cliente como a mesma URL.
Se a propriedade do cabeçalho X-Forwarded-Host não estiver configurada, o ArcGIS Web Adaptor pode retornar a URL da máquina interna para a qual a solicitação foi direcionada, por exemplo, https://notebookserver.domain.com/arcgis/rest/services em vez de https://reverseproxy.domain.com/arcgis/rest/services. Isto é problemático, pois clientes não poderão acessar esta URL (comumente notado como um erro 404 do navegador). Além disso, o cliente ganhará algum conhecimento sobre a máquina interna.
Ao solucionar problemas de comunicação entre clientes e ArcGIS Web Adaptor, é recomendável que você defina a propriedade do cabeçalho X-Forwarded-Host no servidor proxy reverso, pois esta é uma causa comum de falhas de comunicação. A maneira como você define este cabeçalho varia dependendo da implementação do servidor proxy reverso. Por exemplo, o Apache faz isso com a diretiva ProxyPreserveHost On em sua configuração da seguinte maneira:
...
ProxyPreserveHost On
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
...
Para obter orientação sobre como passar o cabeçalho do host original, consulte a documentação do produto para seu servidor proxy reverso.
Exemplo: Configurar o Apache e Tomcat com ArcGIS Notebook Server
Você pode configurar um proxy reverso com ArcGIS Notebook Server utilizando qualquer software de servidor da web. O exemplo de fluxo de trabalho a seguir descreve as etapas para configurar um proxy reverso usando Apache HTTP Server e Apache Tomcat. Este é um exemplo de configuração de proxy reverso, não instruções definitivas.
Este fluxo de trabalho de amostra usa o seguinte software e versões, todos instalados na mesma máquina que ArcGIS Notebook Server:
- Red Hat Enterprise Linux Server 7.5
- Apache HTTP Server , httpd 2.4.6
- Apache Tomcat 9.0.20 / OpenJDK 1.8.0
Estes componentes de software também podem estar em uma arquitetura distribuída, com ArcGIS Notebook Server, Apache HTTP Server , e Apache Tomcat todas em máquinas separadas.
Os etapas seguintes começam após o ArcGIS Notebook Server e Mirantis Container Runtime ter sido instalado e configurado e uma instância do ArcGIS Web Adaptor ter sido instalada em um servidor web Java, mas que não tenha sido configurado.
- Instale o Tomcat para executar na porta 8080 usando o protocolo Apache JServ (AJP), que é habilitado por padrão.
- Como a porta 8443 não está habilitada por padrão no Tomcat, habilite SSL e adicione um conector para a porta 8443.
Isso envolve a geração de um certificado SSL e a edição do arquivo de configuração do Tomcat para adicionar o conector. Como prática recomendada de segurança, apenas o TLS versão 1.2 deve ser ativado.
... sslProtocol="TLS" SSLProtocol="TLSv1.2" ...
- Desenvolva o arquivo arcgis.war para o ArcGIS Web Adaptor (Java Platform) existente para Tomcat.
Para este exemplo, a URL do ArcGIS Web Adaptor é /nbs.
- Instale o Apache HTTP Server .
Para este exemplo, o gerenciador de pacotes yum é usado. Os recursos SSL também são instalados usando yum.
yum install httpd -y yum install mod_ssl -y
- Configure um certificado SSL para o Apache HTTP Server em seu arquivo ssl.conf.
- Modifique o arquivo httpd.conf do Apache utilizando regras de proxy (como discutido na seção anterior)
para chamadas de proxy do ArcGIS Web Adaptor para a porta AJP do Tomcat.
ProxyPass /nbs ajp://myserver.acme.com:8009/nbs ProxyPassReverse /nbs ajp://myserver.acme.com:8009/nbs
- No arquivo Apache HTTP Server ssl.conf, utilize regras de proxy para chamadas SSL de proxy do ArcGIS Web Adaptor para a porta AJP do Tomcat. É importante também fazer pedidos de proxy de WebSocket, que são usados pelo ArcGIS Notebook Server; se os pedidos do WebSocket não forem tratados corretamente, o ArcGIS Notebooks não abriá corretamente.
SSLProxyEngine On # Use RewriteEngine to handle WebSocket connection upgrades RewriteEngine On RewriteCond %{HTTP:Connection} Upgrade [NC] RewriteCond %{HTTP:Upgrade} websocket [NC] RewriteRule /(.*) wss://myserver.acme.com:8443/$1 [P,L] <Location "/nbs"> ProxyPreserveHost On ProxyPass ajp://myserver.acme.com:8009/nbs ProxyPassReverse ajp://myserver.acme.com:8009/nbs </Location>
- Reinicie o serviço Apache HTTP Server das alterações de configuração para entrar em vigor.
- Configure o ArcGIS Web Adaptor com ArcGIS Notebook Server.