Un proxy server inverso è un computer distribuito in una rete perimetrale (anche detta zona demilitarizzata [DMZ] o subnet perimetrale) che gestisce le richieste di Internet e le inoltra ai computer nella rete interna. Inoltrando le richieste, il server proxy inverso maschera l'identità dei computer dietro il firewall dell'organizzazione, proteggendo i computer interni dagli attacchi diretti degli utenti di Internet. È possibile implementare altre funzioni di sicurezza nel server proxy inverso per proteggere ulteriormente la rete interna dagli utenti esterni.
È possibile configurare il sito di ArcGIS Notebook Server per utilizzare il server proxy inverso della propria organizzazione. Facoltativa. Se l'organizzazione non utilizza un proxy inverso o se l'utente non desidera configurare il sito di ArcGIS Notebook Server per utilizzarne uno, è possibile procedere alla configurazione del sito con un portale.
Aggiungere ArcGIS Notebook Server al server proxy inverso
Il server proxy inverso dell'organizzazione deve essere configurato per comunicare con ArcGIS Web Adaptor aggiungendo gli URL corrispondenti alle direttive proxy.
Ad esempio, se si utilizza Apache come server proxy inverso, è necessario aggiungere l'URL di ArcGIS Web Adaptor alle direttive ProxyPass nel file di configurazione httpd.conf del server Web Apache come segue:
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
Impostare la proprietà WebContextURL
Se si utilizza un server proxy inverso e l'URL del sito non termina con la stringa predefinita /arcgis (tutte minuscole), si dovrebbe anche impostare la proprietà WebContextURL di ArcGIS Notebook Server. In questo modo ArcGIS Notebook Server può costruire gli URL corretti per tutte le risorse che invia all'utente finale.
Nota:
Utilizzare la proprietà WebContextURL per impostare l'URL di ArcGIS Notebook Server in modo che corrisponda a quello di ArcGIS Web Adaptor (ad esempio /notebook).
- Accedere all'Administrator Directory di ArcGIS Notebook Server a https://notebookserver.domain.com:11443/arcgis/admin come utente con privilegi di amministratore.
- Fare clic su sistema > proprietà > aggiorna.
- Nella casella di testo Proprietà, inserire il seguente JSON, sostituendo l'URL di ArcGIS Notebook Server come visualizzato dagli utenti al di fuori del firewall dell'organizzazione:
{ "WebContextURL": "https://notebookserver.domain.com/notebook" }
- Fare clic su Aggiorna.
- Riavviare ArcGIS Notebook Server. Su Linux, eseguire gli script stopnotebookserver.sh e startnotebookserver.sh che si trovano nella cartella di installazione.
Intestazioni del proxy inverso e ArcGIS Notebook Server
Quando si integra il proxy inverso con ArcGIS Web Adaptor, la seguente proprietà deve essere impostata nell'intestazione inviata dal server proxy inverso:
X-Forwarded-Host=<FQDN of reverse proxy server>
Se questa proprietà è impostata nell'intestazione, ArcGIS Web Adaptor restituirà al server proxy inverso le richieste che corrispondono all'URL del server proxy inverso. Ad esempio, una richiesta alla directory servizi di ArcGIS Notebook Server (https://reverseproxy.domain.com/arcgis/rest/services) verrà restituita al client con lo stesso URL.
Se proprietà dell'intestazione di X-Forwarded-Host non è impostata, ArcGIS Web Adaptor potrebbe restituire l'URL del computer interno cui la richiesta era diretta (ad esempio, https://notebookserver.domain.com/arcgis/rest/services invece di https://reverseproxy.domain.com/arcgis/rest/services). Questo può diventare un problema poiché i client non potranno accedere a tale URL (anomalia comunemente nota come errore 404 del browser) Il client avrà inoltre accesso ad alcune informazioni sul computer interno.
Durante la risoluzione dei problemi di comunicazione tra i client e ArcGIS Web Adaptor, si raccomanda di impostare la proprietà dell'intestazione di X-Forwarded-Host nel server proxy inverso, in quanto questa è una causa comune di errori di comunicazione. Il modo in cui si imposta questa intestazione varia a seconda dell'implementazione del server proxy inverso. Ad esempio, Apache realizza questo con la direttiva ProxyPreserveHost On nella sua configurazione come segue:
...
ProxyPreserveHost On
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
...
Per indicazioni su come superare l'intestazione originale dell'host, consultare la documentazione del prodotto per il server proxy inverso.
Esempio: configurare Apache e Tomcat con ArcGIS Notebook Server
È possibile configurare un proxy inverso con ArcGIS Notebook Server utilizzando qualsiasi software server Web. Il seguente flusso di lavoro di esempio descrive la procedura per impostare un proxy inverso utilizzando Apache HTTP Server e Apache Tomcat. Questo è un esempio di configurazione del proxy inverso, non istruzioni definitive.
Questo flusso di lavoro di esempio utilizza i seguenti software e versioni, tutti installati sullo stesso computer come 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
Questi componenti software possono anche trovarsi in un'architettura distribuita, con ArcGIS Notebook Server, Apache HTTP Server e Apache Tomcat, tutti su computer separati.
La seguente procedura ha inizio dopo che ArcGIS Notebook Server e Mirantis Container Runtime sono stati installati e configurati, e un'istanza di ArcGIS Web Adaptor è stata installata su un server Web Java ma non è stata configurata.
- Installare Tomcat per eseguirlo sulla porta 8080 utilizzando il protocollo Apache JServ Protocol (AJP), che è abilitato per impostazione predefinita.
- Poiché la porta 8443 non è abilitata per impostazione predefinita su Tomcat, abilitare SSL e aggiungere un connettore per la porta 8443.
Ciò comporta la generazione di un certificato SSL e la modifica del file di configurazione Tomcat per aggiungere il connettore. Come buona pratica di sicurezza, solo la versione 1.2 di TLS deve essere abilitata.
... sslProtocol="TLS" SSLProtocol="TLSv1.2" ...
- Implementare il file arcgis.war per l'ArcGIS Web Adaptor (Java Platform) esistente su Tomcat.
Per questo esempio, l'URL di ArcGIS Web Adaptor è /nbs.
- Installare Apache HTTP Server .
Per questo esempio, viene utilizzato il gestore di pacchetti yum. Le funzionalità SSL sono installate anche utilizzando yum.
yum install httpd -y yum install mod_ssl -y
- Configurare un certificato SSL per Apache HTTP Server nel suo file ssl.conf.
- Modificare il file httpd.conf Apache utilizzando le regole proxy (come discusso nella sezione precedente) per le chiamate proxy di ArcGIS Web Adaptor alla porta AJP di Tomcat.
ProxyPass /nbs ajp://myserver.acme.com:8009/nbs ProxyPassReverse /nbs ajp://myserver.acme.com:8009/nbs
- Nel file ssl.conf di Apache HTTP Server , utilizzare le regole proxy alle chiamate SSL proxy ArcGIS Web Adaptor alla porta AJP di Tomcat. Inoltre, è importante utilizzare un proxy per le richieste di WebSocket, che vengono utilizzate da ArcGIS Notebook Server; se le richieste di WebSocket non vengono gestite correttamente, ArcGIS Notebooks non si aprirà correttamente.
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>
- Riavviare il servizio Apache HTTP Server affinché le modifiche di configurazione abbiano effetto.
- Configurare ArcGIS Web Adaptor con ArcGIS Notebook Server.