Les proxys de transfert fournissent un point unique par lequel plusieurs machines envoient des requêtes à un serveur externe. Ils peuvent appliquer des règles de sécurité, enregistrer et analyser les requêtes et effectuer d'autres actions afin que les requêtes respectent vos règles métier. Avec Edge, un proxy avant se trouve généralement intermédiaire entre vos proxys d'API et un TargetEndpoint externe (un serveur cible backend).
Pour utiliser un proxy de transfert HTTP entre Edge et TargetEndpoint, vous devez configurer les paramètres du proxy sortant sur les processeurs de messages (MP). Ces propriétés configurent les MP pour acheminer les requêtes cibles d'Edge vers le proxy de transfert HTTP.
Pour configurer un MP pour le transfert proxy:
- Sur le MP, modifiez le fichier suivant:
/opt/apigee/customer/application/message-processor.properties
Si le fichier
message-processor.properties
n'existe pas, créez-le. - Modifiez le fichier pour définir les propriétés liées au proxy décrites dans le tableau ci-dessous.
- Assurez-vous que le fichier de propriétés appartient à "apigee" utilisateur:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Enregistrez les modifications apportées au fichier de propriétés.
- Redémarrez le MP, comme indiqué dans l'exemple suivant:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Le tableau suivant décrit les propriétés de la propriété message-processor.properties
que vous utilisez pour configurer un protocole de transfert des serveurs proxy vers un serveur backend:
Propriété | Description |
---|---|
conf_http_HTTPClient.use.proxy |
Autorise l'utilisation du proxy de transfert. La valeur par défaut est Si vous définissez cette valeur sur |
conf_http_HTTPClient.use.tunneling |
Par défaut, Edge utilise la tunnelisation pour tout le trafic. Pour désactiver la tunnelisation par défaut, définissez cette propriété sur "false". |
use.proxy.host.header.with.target.uri |
Définit l'hôte et le port cibles en tant qu'en-tête <HTTPTargetConnection> <Properties> <Property name="use.proxy.host. header.with.target.uri">true </Property> </Properties> <URL>https://mocktarget.apigee.net/ my-target</URL> </HTTPTargetConnection> |
conf/http.properties+HTTPClient.proxy.type |
Indique le type de proxy HTTP en tant que HTTP ou HTTPS. Par défaut, "HTTP" est utilisé. |
conf/http.properties+HTTPClient.proxy.host |
Indique le nom d'hôte ou l'adresse IP sur lequel le proxy HTTP est exécuté. |
conf/http.properties+HTTPClient.proxy.port |
Indique le port sur lequel le proxy HTTP est exécuté. Si cette propriété est omise, elle utilise par défaut le port 80 pour HTTP et le port 443 pour HTTPS. |
conf/http.properties+HTTPClient.proxy.user conf/http.properties+HTTPClient.proxy.password |
Si le proxy HTTP nécessite une authentification de base, utilisez ces propriétés pour fournir les détails de l'autorisation. |
Exemple :
conf_http_HTTPClient.use.proxy=true conf_http_HTTPClient.use.tunneling=false conf/http.properties+HTTPClient.proxy.type=HTTP conf/http.properties+HTTPClient.proxy.host=my.host.com conf/http.properties+HTTPClient.proxy.port=3128 conf/http.properties+HTTPClient.proxy.user=USERNAME conf/http.properties+HTTPClient.proxy.password=PASSWORD
Si un proxy de transfert est configuré pour le MP, tout le trafic passant par l'API les proxys vers les cibles backend passent par le proxy de transfert HTTP spécifié. Si le trafic destiné à une cible spécifique d'un proxy d'API doit accéder directement à la cible en backend, en contournant le proxy de transfert, définissez la propriété suivante dans le TargetEndpoint pour remplacer le proxy de transfert HTTP :
<Property name="use.proxy">false</Property>
Pour en savoir plus sur la définition des propriétés TargetEndpoint, y compris sur la configuration de la connexion au point de terminaison cible, consultez la documentation de référence sur les propriétés des points de terminaison.
Pour désactiver le proxy de transfert pour toutes les cibles par défaut, définissez la propriété suivante dans votre
Fichier message-processor.properties
:
conf_http_HTTPClient.use.proxy=false
Définissez ensuite use.proxy
sur "true" pour tout TargetEndpoint que vous souhaitez passer
un proxy de transfert HTTP:
<Property name="use.proxy">true</Property>
Par défaut, Edge utilise la tunnelisation pour le trafic vers le proxy. Pour désactiver la tunnelisation par défaut,
Définissez la propriété suivante dans le fichier message-processor.properties
:
conf_http_HTTPClient.use.tunneling=false
Si vous souhaitez désactiver la tunnelisation pour une cible spécifique, définissez le paramètre
use.proxy.tunneling
du TargetEndpoint. Si la cible utilise TLS/SSL,
alors cette propriété est ignorée et le message est toujours envoyé via un tunnel:
<Property name="use.proxy.tunneling">false</Property>
Pour qu'Edge lui-même agisse en tant que proxy de transfert, il reçoit les requêtes des services de backend et en les redirigeant vers Internet en dehors de l'entreprise. Commencez par configurer un proxy d'API sur Edge. La service de backend peut alors envoyer une requête au proxy d'API, qui peut ensuite se connecter à des services.