Utiliser des proxys
Dans cette rubrique
- Spécifier des serveurs CORS (facultatif)
- Configurer le proxy interne
- Tester le proxy
- Configurer un proxy en amont optionnel
Dans certains cas, Esri Maps for IBM Cognos utilise un mécanisme de proxy interne pour assurer la communication avec la plateforme ArcGIS (outre d'éventuels services Web référencés par des éléments ArcGIS extraits). Lorsque cela est nécessaire, Esri Maps for IBM Cognos envoie des demandes HTTP au proxy, que celui-ci transmet au serveur Web distant (tel qu'ArcGIS). Le proxy transmet ensuite la réponse à Esri Maps for IBM Cognos.
Le proxy interne n'est pas utilisé si Esri Maps for IBM Cognos et toutes les données et tous les services Web qu'il utilise se trouvent sur le même domaine, ou si le navigateur client et tous les serveurs prennent en charge CORS (Cross-Origin Resource Sharing). Dans la plupart des environnements de production, cependant, cette configuration n'est pas courante et la configuration du proxy interne est recommandée.
Spécifier des serveurs CORS (facultatif)
La plupart des navigateurs modernes utilisent la norme recommandée, CORS. La norme CORS ajoute des en-têtes à la spécification HTTP, qui permettent aux serveurs de décrire l'ensemble des origines ayant l'autorisation de lire des ressources et services à l'aide d'un navigateur Web.
Esri Maps for IBM Cognos détecte automatiquement les serveurs qui utilisent la norme CORS et communique sans problème avec ces serveurs. Dans certains cas, néanmoins, la demande initiale (un POST HTTP, par exemple) est automatiquement acheminée via le proxy interne Esri Maps for IBM Cognos, même si le serveur est activé pour CORS. En tant qu'administrateur Esri Maps for IBM Cognos, vous pouvez répertorier les URL des serveurs CORS connus dans le fichier de configuration de Esri Maps for IBM Cognos (settings.js) pour vous assurer que tous les appels provenant de ces emplacements sont automatiquement considérés comme étant activés pour CORS, et éviter ainsi le proxy.
Remarque :
Les serveurs répertoriés dans la propriété corsEnabledServers doivent être préconfigurés pour prendre en charge CORS. Avant d'ajouter l'URL d'un serveur à la liste, vérifiez que ce serveur est bien activé pour CORS. Si un serveur spécifié dans ce paramètre n'est pas activé pour CORS, la communication avec le serveur Esri Maps for IBM Cognos échoue. Pour plus d'informations, reportez-vous à la rubrique Activer la norme CORS (Cross-Origin Resource Sharing)
Pour spécifier des serveurs compatibles CORS, procédez comme suit :
- Utilisez un éditeur de texte standard pour ouvrir le fichier de configuration de l'application.
Le fichier de configuration se trouve sur la passerelle EM4C à l'emplacement suivant : <em4c_location>/webcontent/esrimap/configuration/settings.js
- Dans la propriété corsEnabledServers, spécifiez les URL des serveurs devant automatiquement être considérés comme activés pour CORS.
Chaque URL doit être entourée de guillemets et elles doivent toutes être séparées par des virgules.
Par exemple :corsEnabledServers: ["mapserver.mycompany.com", "otherserver.othercompany.com"]
Remarque :
Vous ne pouvez pas inclure une instance de Portal for ArcGIS qui utilise l'authentification au niveau du Web dans cette liste. Dans ce type d'instance, cependant, la détection automatique de CORS se produit toujours sans impliquer le proxy.
- Enregistrez et fermez le fichier settings.js.
Configurer le proxy interne
Bien que le proxy interne soit conçu pour fonctionner avec une configuration personnalisée minimale, vous pouvez personnaliser ses paramètres pour autoriser uniquement les demandes vers des serveurs spécifiques, c'est-à-dire que vous pouvez indiquer les ressources auxquelles le proxy transmettra des demandes.
Pour configurer les paramètres du proxy interne, modifiez le fichier de configuration du proxy dans un éditeur de texte standard.
Le fichier de configuration du proxy (proxy.conf) est contenu dans la passerelle EM4C à l'adresse <em4c_location>/temp/proxy.conf.
Remarque :
Si votre implémentation Esri Maps for IBM Cognos comprend plusieurs passerelles, le fichier de configuration du proxy doit être mis à jour sur chaque passerelle. Les paramètres doivent être identiques sur toutes les passerelles.
Pour définir les URL auxquelles Esri Maps for IBM Cognos est autorisé à accéder, spécifiez chaque URL dans une propriété serverUrl distincte. Créez une propriété serverUrl pour chaque serveur auquel Esri Maps for IBM Cognos doit accéder pour extraire des services de carte.
Remarque :
Définir la propriété matchUrls sur true indique que le proxy peut uniquement accéder aux serveurs répertoriés de manière explicite. Définir cette propriété sur false signifie que le proxy peut accéder à tous les serveurs et ignore les serveurs répertoriés en tant que serverUrl.
Par exemple :matchUrls = true
serverUrl = http://www.arcgis.com
serverUrl = https://arcgis.com
serverUrl = http://myserver.mycompany.com
Tester le proxy
Pour tester le proxy interne, acheminez-y une demande HTTP. Si le proxy retourne la valeur attendue, c'est qu'il fonctionne correctement. Vous trouverez, dans les étapes suivantes, des exemples d'appels qui simulent le trafic HTTP généré par Esri Maps for IBM Cognos.
- Pour vérifier l'emplacement du proxy interne de Esri Maps for IBM Cognos, tapez son URL dans la barre d'adresse d'un navigateur Web.
http://myibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi
Lorsque vous parvenez à accéder au proxy interne, la page affiche un horodatage, par exemple, Jeu 2 oct 07:34:52 PDT 2014. Si vous ne recevez pas la réponse attendue, vérifiez les paramètres de configuration de votre proxy interne.
- Vérifiez que vous pouvez vous connecter à une ressource connue.
Par exemple, chacune des URL suivantes doit retourner un objet JSON décrivant la version du logiciel installé sur le serveur.
- ArcGIS Online : http://www.arcgis.com/sharing?f=pjson
- Instance Portal for ArcGIS :http://myPortal/gis/sharing/?f=pjson
- Acheminez le trafic via le proxy interne.
Par exemple, chacune des URL suivantes doit retourner un objet JSON décrivant la version du logiciel installé sur le serveur :
- ArcGIS Online : http://ibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi?http://www.arcgis.com/sharing?f=pjson
- Instance de Portal for ArcGIS : http://ibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi?http://myPortal/gis/sharing/?f=pjson
Remarque :
Si l'acheminement d'un appel vers le proxy interne ne génère pas le résultat attendu, il est possible que vous deviez utiliser un proxy en amont pour accéder aux ressources. Dans ce cas, configurez le proxy en amont, puis exécutez à nouveau les tests de cette section. Le proxy interne achemine le trafic via le proxy en amont et retourne le résultat attendu dans le navigateur Web. Pour plus d'informations, reportez-vous à la rubrique Configurer un proxy en amont optionnel.
Obtenir le résultat attendu signifie que vos proxys sont correctement configurés et fonctionnent de la façon prévue.
Configurer un proxy en amont optionnel
Dans les cas où Esri Maps for IBM Cognos doit utiliser son proxy interne, celui-ci doit pouvoir transmettre les demandes HTTP aux ressources cibles désignées (telles que des services de carte). Dans certains environnements, les règles des pare-feu empêchent l'envoi de ces demandes. Le pare-feu peut ainsi empêcher le trafic HTTP de quitter le réseau interne.
Pour résoudre ce problème, vous pouvez configurer un proxy de transfert en amont.
Un proxy en amont autorise les connexions en dehors du réseau sans compromettre la sécurité du réseau interne. Pour utiliser un proxy en amont, une stratégie courante consiste à placer un serveur proxy au sein d'un réseau de périmètre pour protéger le réseau interne.
Le proxy en amont constitue une solution tierce (non-Esri) de niveau entreprise. Il ne fait pas partie de Esri Maps for IBM Cognos.
Remarque :
Esri Maps for IBM Cognos ne prend pas en charge les serveurs proxy en amont nécessitant une authentification.
Le fichier de configuration du proxy Esri Maps for IBM Cognos contient des propriétés qui vous permettent de configurer un proxy en amont.
Pour configurer les paramètres du proxy en amont, modifiez le fichier de configuration du proxy dans un éditeur de texte standard.
- Définissez la propriété upStreamProxy sur true.
- Spécifiez la propriété upStreamProxyUrl selon la convention suivante :
http://<address>:<port>
où :
- address : adresse du serveur proxy, par exemple, proxy.mycompany.com
- port : numéro de port attribué au serveur proxy, par exemple, 8888
Par exemple :
upStreamProxy = true upStreamProxyUrl = http://proxy.mycompany.com:8888
Remarque :
Si vous utilisez une adresse IP pour spécifier l'emplacement de votre serveur proxy, ne saisissez pas les zéros à gauche. Par exemple, indiquez 130.25.0.1 au lieu de 130.025.000.001.
Si vous ne connaissez pas l'adresse Web ou le numéro de port de votre serveur proxy, contactez votre administrateur réseau.
- Pour tester le proxy en amont, acheminez une demande via le proxy interne, qui acheminera ensuite à son tour l'appel via le proxy en amont. Pour plus d'informations, reportez-vous à la rubrique Tester le proxy.
Vous avez un commentaire à formuler concernant cette rubrique ?