Configurer un proxy inverse avec ArcGIS Mission Server

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 machines derrière le pare-feu de votre organisation et protège ainsi les machines internes contre toute attaque 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.

Si votre serveur proxy inverse prend en charge une fonction de contrôle de l’intégrité, vous pouvez utiliser l’extrémité de contrôle de l’intégrité ArcGIS Mission Server pour déterminer si le site peut recevoir des requêtes. Ceci est utile pour déterminer rapidement si le site rencontre une défaillance logicielle ou matérielle. Pour ce faire, accédez à https://machine.domain.com:20443/arcgis/rest/info/healthcheck, par exemple.

Remarque :

Avec Enterprise version 10.9, les administrateurs ont désormais la possibilité de configurer le protocole HTTPD Apache avec ArcGIS Mission Server de manière plus fluide. Les administrateurs peuvent à présent générer un fichier de configuration de proxy Apache via l’extrémité Generate Proxy Configuration (Générer une configuration de proxy) de l’API d’administration.

Générer une configuration de proxy

Les administrateurs ont désormais la possibilité de configurer le protocole HTTPD Apache via l’API d’administration de ArcGIS Mission Server.

  1. Connectez-vous au répertoire administrateur ArcGIS Mission Server à l’adresse https://machine.domain.com:20443/arcgis/admin/proxyGen en tant qu’utilisateur doté de privilèges d’administrateur.
  2. Indiquez la valeur Top Context (Contexte supérieur) de votre proxy inverse. Par exemple, si vous saisissez topcontext, les directives du proxy acheminent les requêtes vers https://my.reverse.proxy/topcontext. Ce contexte servira à écrire les directives du proxy et à acheminer correctement les requêtes en fonction de leur protocole et de leur contexte.
  3. Cochez la case Set Context URLs (Définir les URL de contexte) pour définir automatiquement les propriétés système ArcGIS Mission Server WebContextURL et WebSocketContextURL appropriées lors de l’envoi de la requête.
  4. Pour Proxy FQDN (FQDN du proxy), saisissez le nom de domaine complet de votre serveur proxy inverse. Par exemple, si vous saisissez my.reverse.proxy, les directives du proxy achemineront les requêtes vers https://my.reverse.proxy/topcontext.
  5. Pour Format, choisissez une sortie.
  6. Par défaut, le format en sortie est html. Vous pouvez cependant choisir un autre format en sortie pour le fichier de configuration : json ou file.
  7. Cliquez sur Submit (Envoyer).

    Vous avez généré un fichier de configuration HTTPD Apache et défini les bonnes propriétés système ContextURL. Vous allez ensuite devoir lire les informations contenues dans ce fichier et les appliquer à votre proxy HTTPD Apache selon les besoins. Reportez-vous à la documentation relative à votre distribution.

Ajouter manuellement ArcGIS Mission Server à votre serveur proxy inverse

Vous pouvez configurer le serveur proxy inverse de votre organisation afin qu’il communique avec ArcGIS Mission Server en ajoutant les URL correspondantes aux directives du proxy.

Pour configurer un serveur HTTP Apache en tant que proxy inverse, activez les modules Apache suivants : mod_ssl, mod_proxy, mod_proxy_http et mod_proxy_wstunnel. Pour activer les modules Apache, consultez la documentation Apache pour connaître les emplacements de configuration propres à la plateforme. Par exemple :

LoadModule ssl_module modules/mod_ssl.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

Pour finaliser la configuration d’un serveur HTTP Apache en tant que proxy inverse, vous devez définir une combinaison de directives ProxyPass et ProxyPassMatch, ainsi que les paramètres SSL appropriés. Sachant que ArcGIS Mission Server utilise HTTPS, vous devez configurer les paramètres SSL du serveur HTTP Apache afin qu’il utilise également le certificat qui a été chargé dans ArcGIS Mission Server :

##
## SSL Virtual Host Context
##
<VirtualHost _default_:443>
 
## Enable Proxy for SSL
SSLProxyEngine on
 
## If using a self-signed certificate on ArcGIS Mission Server, disable strict
## certificate verification
SSLProxyVerify none
 
## Proxy ArcGIS Mission Server URLs to the proper backend ports
## The order of these directives are important.

ProxyPass /topcontext/missions/ wss://machine.domain.com:20301/arcgis/missions/ disablereuse=On

ProxyPass /topcontext/ https://machine.domain.com:20443/arcgis/
ProxyPassReverse /topcontext/ https://machine.domain.com:20443/arcgis/
 
## Use the same SSL Certificate and Key as ArcGIS Mission Server
## (adjust path to your specific certificate locations)
SSLCertificateFile    /path/to/arcgis/mission/<server_cert>.pem
SSLCertificateKeyFile /path/to/arcgis/mission/<private_key>.pem
 
## End of ArcGIS Mission Server reverse proxy config                         https://machine.domain.com:20443/arcgis/

Pour que ArcGIS Mission Server crée de manière appropriée des communications WebSocket avec les clients, vous devez définir les propriétés système ArcGIS Mission Server WebContextURL et WebSocketContextURL. Cela permet à ArcGIS Mission Server de créer les URL correctes sur toutes les ressources transmises à l’utilisateur final. Procédez comme suit pour modifier les propriétés WebContextURL et WebSocketContextURL :

  1. Connectez-vous au répertoire administrateur ArcGIS Mission Server à l’adresse https://machine.domain.com:20443/arcgis/admin en tant qu’utilisateur doté de privilèges d’administrateur.
  2. Cliquez sur system (système) > properties (propriétés) > update (mettre à jour).
  3. Dans la zone de texte Properties (Propriétés), insérez le JSON suivant, en remplaçant votre propre URL ArcGIS Mission Server telle que la voient les utilisateurs extérieurs au pare-feu de votre organisation.
    {
       "WebContextURL": "https://machine.domain.com/mygis",
    "WebSocketContextURL":"wss://machine.domain.com/mygis"
    }
  4. Cliquez sur Mettre à jour.