Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Problème constaté
Dans Edge pour le cloud privé, lorsque vous tracez une API dans l'interface utilisateur Edge, une réponse HTTP 304 s'affiche dans la colonne État de la fenêtre de trace:
Messages d'erreur
Il n'y a aucun message d'erreur. L'appel de proxy d'API renvoie en fait une réponse positive, par exemple HTTP 200. Cependant, la fenêtre de trace de l'interface utilisateur Edge affiche une réponse HTTP 304 et aucune donnée de trace n'est collectée.
Causes possibles
Dans Edge pour le cloud privé, l'interface utilisateur Edge tente de tracer un proxy d'API accessible par une adresse IP privée.
L'outil de traçage de l'interface utilisateur Edge peut envoyer une requête API à n'importe quelle URL. Dans un scénario de déploiement où l'interface utilisateur Edge est cohébergée avec d'autres services internes, un utilisateur malveillant peut faire un usage abusif de l'outil de traçage pour envoyer des requêtes à des services via une adresse IP privée, telle que localhost ou 127.0.0.1.
Dans un environnement de production, vous laissez généralement la valeur par défaut telle quelle pour empêcher les utilisateurs de tracer une adresse IP privée. Par exemple, c'est ainsi que la version publique de l'interface utilisateur Edge est déployée.
Toutefois, pour un environnement de développement ou de test interne, vous pouvez remplacer cette valeur par défaut pour permettre à vos développeurs d'API de tracer n'importe quelle adresse IP. En règle générale, un environnement de développement/test est protégé par un pare-feu qui n'autorise pas l'accès public.
Remarque : Nous vous recommandons de laisser la valeur par défaut telle quelle pour empêcher l'accès de trace aux adresses IP privées, même dans un environnement de développement/test, sauf si vous devez l'activer.
Cause: tentative d'accès à un proxy d'API via une adresse IP privée
Par défaut, l'interface utilisateur Edge pour Edge pour le cloud privé empêche les utilisateurs de suivre les appels d'API effectués via des adresses IP privées. La liste des adresses IP privées comprend les éléments suivants:
- Adresse de rebouclage (127.0.0.1 ou localhost)
- Adresses locales du site (pour IPv4 : 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- Toute adresse locale (toute adresse renvoyant vers localhost)
Par exemple, la commande curl suivante appelle un proxy d'API à l'aide de l'adresse IP 127.0.0.1, considérée comme une adresse IP privée:
curl http://127.0.0.1:9001/myapiproxy
Dans la fenêtre de trace de cet appel, une réponse HTTP 304 s'affiche même si la commande curl a abouti.
Résolution
Pour permettre à l'interface utilisateur Edge de suivre les adresses IP privées pour Edge pour le cloud privé, définissez le jeton suivant dans ui.properties
:
conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
Pour définir cette propriété:
- Ouvrez le fichier
ui.properties
dans un éditeur. Si le fichier n'existe pas, créez-le.
vi /opt/apigee/customer/application/ui.properties
- Définissez les propriétés suivantes sur "true" :
conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
- Enregistrez les modifications apportées à
ui.properties
. - Assurez-vous que le fichier de propriétés appartient à l'utilisateur "apigee" :
chown apigee:apigee /opt/apigee/customer/application/ui.properties
- Redémarrez l'interface utilisateur Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
L'interface utilisateur Edge peut désormais accéder aux adresses IP privées dans l'outil de traçage.
Pour désactiver ultérieurement l'interface utilisateur du traçage des requêtes via des adresses IP privées, modifiez ui.properties
pour définir la propriété sur false
, puis redémarrez l'interface utilisateur Edge.
Documents associés (facultatif)
Pour en savoir plus, consultez la section Autoriser l'interface utilisateur Edge à accéder aux adresses IP locales.