Un serveur proxy inverse est un ordinateur déployé sur un réseau de périmètre (appelé également zone démilitarisée [DMZ] ou sous-réseau filtré) qui gère des requêtes provenant d’Internet et les transmet aux machines de votre réseau interne. En transmettant des requêtes, le serveur proxy inverse masque l’identité des ordinateurs derrière le pare-feu de votre organisation, ce qui protège les ordinateurs internes de toute attaque directe provenant des utilisateurs d’Internet. Vous pouvez intégrer des fonctions de sécurité supplémentaires au serveur proxy inverse pour protéger davantage votre réseau interne contre toute attaque provenant de l'extérieur.
Vous pouvez configurer votre site ArcGIS Notebook Server pour utiliser un serveur proxy inverse de votre organisation. Ce paramètre est facultatif. Si votre organisation n’utilise pas de serveur proxy inverse ou si vous ne souhaitez pas configurer votre site ArcGIS Notebook Server pour en utiliser un, vous pouvez passer à la configuration de votre site avec un portail.
Ajouter ArcGIS Notebook Server à votre serveur proxy inverse
Vous devez configurer le serveur proxy inverse de votre organisation afin qu’il communique avec ArcGIS Web Adaptor en ajoutant les URL correspondantes aux directives du serveur proxy.
Par exemple, si vous utilisez Apache comme serveur proxy inverse, vous devez ajouter l’URL de ArcGIS Web Adaptor aux ProxyPass directives du fichier de configuration du serveur web Apache httpd.conf, comme suit :
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
Définir la propriété WebContextURL
Si vous utilisez un serveur proxy inverse et que l’URL vers votre site ne se termine pas par la chaîne par défaut /arcgis (tout en minuscules), vous devez également définir la propriété ArcGIS Notebook Server WebContextURL. Cela permet à ArcGIS Notebook Server de créer les URL correctes sur les ressources transmises à l’utilisateur final.
Remarque :
La propriété WebContextURL permet de définir l’URL de ArcGIS Notebook Server afin qu’elle corresponde à celle de son ArcGIS Web Adaptor (comme /notebook).
- Connectez-vous au répertoire administrateur ArcGIS Notebook Server, à l’adresse https://notebookserver.domain.com:11443/arcgis/admin en tant qu’utilisateur doté de privilèges d’administrateur.
- Cliquez sur système > propriétés > mettre à jour.
- Dans la zone de texte Properties (Propriétés), insérez le code JSON ci-dessous, en y substituant votre propre URL ArcGIS Notebook Server telle que la voient les utilisateurs extérieurs au pare-feu de votre organisation :
{ "WebContextURL": "https://notebookserver.domain.com/notebook" }
- Cliquez sur Update (Mettre à jour).
- Redémarrez ArcGIS Notebook Server. Sous Linux, exécutez les scripts stopnotebookserver.sh et startnotebookserver.sh situés dans le dossier d’installation.
En-têtes du proxy inverse et ArcGIS Notebook Server
Lors de l’intégration de votre serveur proxy inverse avec ArcGIS Web Adaptor, la propriété ci-dessous doit être définie dans l’en-tête envoyé par le serveur proxy inverse :
X-Forwarded-Host=<FQDN of reverse proxy server>
Si cette propriété est définie dans l’en-tête, ArcGIS Web Adaptor renvoie au serveur proxy inverse des demandent qui correspondent à l’URL du serveur proxy inverse. Par exemple, une requête destinée au répertoire des services ArcGIS Notebook Server (https://reverseproxy.domain.com/arcgis/rest/services) est renvoyée au client sous la forme de l’URL correspondante.
Si la propriété de l’en-tête X-Forwarded-Host n’est pas définie, ArcGIS Web Adaptor peut renvoyer l’URL de l’ordinateur interne vers lequel la demande a été dirigée, par exemple, https://notebookserver.domain.com/arcgis/rest/services au lieu de https://reverseproxy.domain.com/arcgis/rest/services. Cela pose un problème, car les clients ne pourront pas accéder à cette URL (erreur 404 du navigateur). Le client disposera également d’informations sur l’ordinateur interne.
Lorsque vous résolvez des problèmes de communication entre des clients et ArcGIS Web Adaptor, il est recommandé de définir la propriété de l’en-tête X-Forwarded-Host du serveur proxy inverse, car il s’agit d’une cause fréquente d’échec de communication. La configuration de cet en-tête dépend de la mise en œuvre de votre serveur proxy inverse. Par exemple, Apache utilise la directive ProxyPreserveHost On intégrée à sa configuration, comme suit :
...
ProxyPreserveHost On
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
...
Pour savoir comment transmettre l'en-tête de l'hôte d'origine, consultez la documentation de votre serveur proxy inverse.
Exemple : Configurez Apache et Tomcat avec ArcGIS Notebook Server
Vous pouvez configurer un serveur proxy inverse avec ArcGIS Notebook Server à l’aide d’un logiciel de serveur web. L’exemple de processus ci-dessous décrit les étapes de la configuration d’un serveur proxy inverse à l’aide de Apache HTTP Server et de Apache Tomcat. C’est un simple exemple de configuration de serveur proxy inverse et non des instructions définitives.
Cet exemple de processus utilise le logiciel et les versions ci-dessous, tous installés sur le même ordinateur 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
Ces composants logiciels peuvent également se trouver dans une architecture distribuée, avec ArcGIS Notebook Server, Apache HTTP Server et Apache Tomcat, tous sur des ordinateurs distincts.
La procédure ci-dessous commence une fois que ArcGIS Notebook Server et Mirantis Container Runtime ont été installés et configurés, et une instance de ArcGIS Web Adaptor a été installée sur un serveur Java, mais n’a pas été configurée.
- Installez Tomcat de manière à l’exécuter sur le port 8080 à l’aide d’Apache JServ Protocol (AJP), qui est activé par défaut.
- Comme le port 8443 n’est pas activé par défaut sous Tomcat, activez le protocole SSL et ajoutez un connecteur pour le port 8443.
Cela implique de générer un certificat SSL et de modifier le fichier de configuration Tomcat pour ajouter le connecteur. Pour des raisons de sécurité, seul le protocole TLS version 1.2 doit être utilisé.
... sslProtocol="TLS" SSLProtocol="TLSv1.2" ...
- Déployez le fichier arcgis.war pour le ArcGIS Web Adaptor (Java Platform) existant dans Tomcat.
Dans cet exemple, l’URL ArcGIS Web Adaptor est /nbs.
- Installez Apache HTTP Server .
Dans cet exemple, le gestionnaire de paquetage yum est utilisé. Les fonctions SSL sont installées à l’aide de yum.
yum install httpd -y yum install mod_ssl -y
- Configurez un certificat SSL pour le Apache HTTP Server dans son fichier ssl.conf.
- Modifiez le fichier Apache httpd.conf à l’aide des règles de serveur proxy (comme indiqué à la section précédente) pour rediriger les appels de ArcGIS Web Adaptor vers le serveur proxy du port AJP de Tomcat.
ProxyPass /nbs ajp://myserver.acme.com:8009/nbs ProxyPassReverse /nbs ajp://myserver.acme.com:8009/nbs
- Dans le fichier Apache HTTP Server ssl.conf, utilisez les règles de serveur proxy pour rediriger les appels SSL de ArcGIS Web Adaptor vers le port AJP de Tomcat. Il est important de rediriger également les demandes WebSocket, utilisées par ArcGIS Notebook Server. Si les demandes WebSocket ne sont pas gérées correctement, ArcGIS Notebooks ne s’ouvre pas correctement.
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>
- Redémarrez le service Apache HTTP Server pour que les modifications apportées à la configuration soient appliquées.
- Configurez ArcGIS Web Adaptor avec ArcGIS Notebook Server.
Vous avez un commentaire à formuler concernant cette rubrique ?