Skip To Content

Configurer un serveur proxy inverse avec ArcGIS 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é de ArcGIS 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 plus d’informations, reportez-vous à la rubrique Contrôle de l’intégrité dans ArcGIS REST API.

Ajout de ArcGIS Server à votre serveur proxy inverse

Vous pouvez configurer le serveur proxy inverse de votre organisation afin qu’il communique directement avec ArcGIS Server ou via ArcGIS Web Adaptor en ajoutant les URL suivantes aux directives du proxy.

Par exemple, si vous utilisez Apache comme serveur proxy inverse, vous devez ajouter l’URL de ArcGIS Server ou l’URL de ArcGIS Web Adaptor aux directives de ProxyPass dans le fichier de configuration du serveur web Apache httpd.conf :

Si la communication s’effectue via ArcGIS Web Adaptor

ProxyPass /server https://gisserver.domain.com/server
ProxyPassReverse /server https://gisserver.domain.com/server

Si la communication s’effectue directement avec ArcGIS Server

ProxyPass /arcgis https://gisserver.domain.com:6443/arcgis
ProxyPassReverse /arcgis https://gisserver.domain.com:6443/arcgis

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 (en minuscules), vous devez également définir la propriété ArcGIS Server WebContextURL. Cela permet à ArcGIS Server de créer les URL correctes sur toutes les ressources transmises à l’utilisateur final.

Remarque :

Si vous avez configuré ArcGIS Web Adaptor avec votre site, utilisez la propriété WebContextURL pour définir l’URL de ArcGIS Server et faire en sorte qu’elle corresponde avec celle de son ArcGIS Web Adaptor (comme /mygis). Si aucun Web Adaptor n’est configuré, l’URL du site doit se terminer par /arcgis afin d’éviter les éventuels problèmes de redirection d’URL.

Procédez comme suit pour modifier WebContextURL :

  1. Connectez-vous au répertoire administrateur ArcGIS Server à l’adresse https://gisserver.domain.com:6443/arcgis/admin en tant qu’utilisateur doté de privilèges d’administrateur.
  2. Cliquez sur système > propriétés > mettre à jour.
  3. Dans la zone de texte Properties (Propriétés), insérez la notation JSON suivante en indiquant votre propre URL ArcGIS Server, telle qu’elle apparaît aux utilisateurs en dehors du pare-feu de votre organisation.
    {
       "WebContextURL": "https://gisserver.domain.com/mygis"
    }
  4. Cliquez sur Mettre à jour.
  5. Redémarrez ArcGIS Server sur chaque serveur SIG du site. Sous Windows, redémarrez le service Windows ArcGIS Server sur chaque machine.

En-têtes du proxy inverse et ArcGIS Server

Avant de déployer votre serveur proxy inverse pour l’utiliser avec ArcGIS Server ou ArcGIS Web Adaptor, il vous est recommandé de configurer certains en-têtes du proxy inverse afin de garantir la communication.

Votre serveur proxy inverse doit être capable de détecter les redirections (codes HTTP 301 ou 302). Mettez à jour son en-tête Emplacement pour vous assurer que le nom de domaine complet (FQDN) et le contexte de la réponse correspondent à la valeur WebContextURL du serveur.

X-Forwarded-Host

Lorsque vous intégrez votre proxy inverse à ArcGIS Server ou à ArcGIS Web Adaptor, sachez que ces deux composants exigent que vous définissiez la propriété suivante 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 Server et ArcGIS Web Adaptor renvoient au serveur proxy inverse des demandent qui correspondent à l’URL du serveur proxy inverse. Par exemple, une demande destinée au répertoire des services ArcGIS 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 Server et ArcGIS Web Adaptor peuvent renvoyer l’URL de la machine interne vers laquelle la requête a été acheminée, par exemple, https://gisserver.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 la machine interne.

Lorsque vous résolvez des problèmes de communication entre des clients et ArcGIS Server ou ArcGIS Web Adaptor, il vous 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 :

... ProxyPreserveHost On ProxyPass /server https://gisserver.domain.com/server ProxyPassReverse /server https://gisserver.domain.com/server
...

Pour savoir comment transmettre l'en-tête de l'hôte d'origine, consultez la documentation de votre serveur proxy inverse.