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. Le transfert des requêtes au nom du serveur proxy inverse masque l’identité des machines se trouvant 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 Portal for ArcGIS pour déterminer si le portail peut recevoir des requêtes. Ceci est utile pour déterminer rapidement si le site présente une défaillance logicielle ou matérielle. Pour plus d'informations, reportez-vous à la rubrique Contrôle de l'intégrité du portail dans l'API REST d'ArcGIS.
Attention :
La configuration détaillée dans cette rubrique doit être exécutée avant de fédérer un site ArcGIS Server avec votre portail ArcGIS Enterprise. Il est impossible d’ajouter un alias DNS ou un proxy inverse une fois qu’un site ArcGIS Server a été fédéré avec votre portail. Si vous devez changer le nom d’hôte de l’URL de votre organisation, contactez Esri Professional Services ou un autre partenaire agréé pour obtenir des instructions.
La suppression d’un site fédéré ArcGIS Server a des répercussions importantes et il sera difficile de rétablir une configuration existante. Pour en savoir plus, reportez-vous à la rubrique Administrer un serveur fédéré.
Ajouter Portal for ArcGIS à un serveur proxy inverse
Avant d’ajouter Portal for ArcGIS au serveur proxy inverse de votre organisation, vous devez effectuer les opérations suivantes :
- Configurez HTTPS (HTTP et HTTPS ou HTTPS uniquement) sur le serveur proxy inverse. Portal for ArcGIS utilise par défaut le protocole HTTPS pour les communications. Consultez la documentation de votre serveur proxy pour savoir comment configurer HTTPS.
Remarque :
Portal for ArcGIS ne prend pas en charge le déchargement SSL via un serveur proxy inverse/système d’équilibrage de la charge. Si votre configuration utilise un serveur proxy inverse, il doit donc acheminer le trafic vers ArcGIS Web Adaptor ou directement vers Portal for ArcGIS via HTTPS.
Vérifiez si le serveur proxy prend en charge le codage gzip et qu’il est configuré pour autoriser l’en-tête Accept-Encoding. Cet en-tête permet aux réponses HTTP 1.1 d’être compressées à l’aide du codage gzip. Ainsi, si l’en-tête est autorisé, une demande de chargement de Map Viewer (Visionneuse de carte) renvoie une réponse compressée d’environ 1,4 Mo au navigateur. Si l'en-tête n'est pas autorisé ou est ignoré, la demande renvoie une réponse non compressée d'environ 6,8 Mo au navigateur. Si le débit de votre réseau est lent, le chargement de Map Viewer (Visionneuse de carte) est lent lorsque les réponses ne sont pas compressées. Esri recommande d’autoriser cet en-tête dans le cadre de la configuration de votre serveur proxy inverse.
Ajouter ArcGIS Web Adaptor aux directives du serveur proxy
Après avoir configuré ArcGIS Web Adaptor avec Portal for ArcGIS, vous pouvez utiliser ArcGIS Web Adaptor avec le serveur proxy inverse de votre organisation en ajoutant directement les composants aux directives de proxy. Par exemple, si vous utilisez Apache comme serveur proxy inverse, vous devez ajouter ArcGIS Web Adaptor aux directives ProxyPass du fichier de configuration du serveur Web Apache httpd.conf :
ProxyPass /webadaptorname https://webadaptorhost.domain.com/webadaptorname
ProxyPassReverse /webadaptorname https://webadaptorhost.domain.com/webadaptorname
Les directives ProxyPass doivent correspondre au nom désigné pour ArcGIS Web Adaptor (/webadaptorname dans l’exemple ci-dessus). Si l’URL d’accès à votre site ne se termine pas par la chaîne par défaut /arcgis, indiquez le nom autre que celui par défaut d’ArcGIS Web Adaptor (par exemple, /myorg).
Préparer un proxy inverse
Avant de déployer votre serveur proxy inverse pour l’utiliser avec le portail, Esri vous recommande de configurer certains en-têtes du proxy inverse afin de garantir la communication.
Lors de la configuration du serveur proxy inverse, définissez un en-tête X-Forwarded-Host correspondant au nom d’hôte du proxy inverse. Portal for ArcGIS s’attend à ce que cette propriété soit définie dans l’en-tête envoyé par le proxy inverse et renvoie les requêtes correspondant à l’URL du serveur proxy inverse. Si vous n’utilisez pas ArcGIS Web Adaptor, définissez également l’en-tête de l’hôte sur le nom de la machine qui exécute Portal for ArcGIS. Vous pouvez utiliser l’API des machines pour valider le nom d’hôte de la machine Portal for ArcGIS.
Par exemple, une demande destinée au point d’extrémité REST Portal for ArcGIS (https://reverseproxy.domain.com/arcgis/sharing/rest) est renvoyée au client sous la forme de l’URL correspondante. Si la propriété n’est pas définie, Portal for ArcGIS peut renvoyer l’URL de l’ordinateur interne vers lequel la demande a été dirigée (par exemple, https://portal.domain.com/arcgis/sharing/rest au lieu de https://reverseproxy.domain.com/arcgis/sharing/rest). Cela pose un problème, car les clients ne pourront pas accéder à cette URL (erreur 404 du navigateur). Le client disposera également d’un accès à des informations sur la machine interne.
Avec l’en-tête X-Forwarded-Host, votre serveur proxy inverse doit être capable de rediriger directement (codes HTTP 301 ou 302). Actualisez également son en-tête Location pour vous assurer que le nom de domaine complet (FQDN) et le contexte de la réponse correspondent à la valeur WebContextURL du portail.
Définir la propriété WebContextURL
La propriété WebContextURL du portail l’aide à créer les URL correctes sur toutes les ressources transmises à l’utilisateur final.
Remarque :
Si vous n’utilisez pas ArcGIS Web Adaptor dans votre déploiement, assurez-vous que le nom contextuel du serveur proxy inverse ne descend que d’un niveau d’URL. Par exemple, vous pourriez spécifier l’URL d’un serveur proxy inverse https://proxy.domain.com/enterprise, mais pas la suivante : https://proxy.domain.com/myorg/enterprise.
- Ouvrez un navigateur Web et connectez-vous au répertoire ArcGIS Portal en tant que membre du rôle d’administrateur par défaut de l’organisation de votre portail. L’URL est au format https://portal.domain.com:7443/arcgis/portaladmin.
- Cliquez sur Système > Propriétés > Mettre à jour les propriétés.
- Dans la boîte de dialogue Mettre à jour les propriétés du système, insérez la notation JSON suivante en remplaçant l'URL de l'alias DNS ou de votre serveur proxy inverse, telle qu'elle apparaît aux utilisateurs en dehors du pare-feu de votre organisation.
{ "WebContextURL": "https://reverseproxy.domain.com/enterprise" }
Remarque :
Portal for ArcGIS ne prend en charge qu’un seul DNS.
Remarque :
Vous ne pouvez pas utiliser un port non standard (c’est-à-dire un autre port que le port 7443) lorsque vous définissez la propriété WebContextURL.
- Cliquez sur Update Properties (Mettre à jour les propriétés).
Répéter les tâches administratives
Une fois que vous avez configuré le serveur proxy inverse avec votre portail, vous pouvez accéder à votre portail via l’URL du serveur proxy inverse à la place de l’URL d’ArcGIS Web Adaptor. Tout ce à quoi vous accédez sur le site Web du portail ou dans le répertoire Portal for ArcGIS retournera l'URL du serveur proxy inverse.
Les tâches administratives suivantes doivent être réexécutées en utilisant l'URL du serveur proxy inverse :
Si vous avez ajouté auparavant des services sécurisés en tant qu'éléments dans votre portail, vous devrez supprimer les éléments d'origine et les ajouter de nouveau. En effet, les éléments d’origine utilisent l’URL d’ArcGIS Web Adaptor à la place de l’URL du serveur proxy inverse. Pour obtenir des instructions, reportez-vous à la rubrique Se connecter à des services sécurisés.
Une fois le serveur proxy inverse configuré avec le portail, il se peut que vous deviez ajuster ses paramètres. Par exemple, si les opérations ou les requêtes au sein de votre déploiement échouent avec une erreur indiquant que la connexion a expiré, le problème peut être lié à une valeur trop faible du délai d’expiration du serveur proxy inverse. Pour résoudre cette erreur, pensez à augmenter la valeur du délai d’expiration afin de permettre aux requêtes de longue durée, comme la fédération d’un serveur, de se terminer.
Vous avez un commentaire à formuler concernant cette rubrique ?