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 de transfert intermédiaire généralement les proxys d'API et un TargetEndpoint externe (un serveur cible de backend).
Pour utiliser un proxy de transfert HTTP entre Edge et TargetEndpoint, vous devez configurer les paramètres proxy sortants sur les processeurs de messages (MP). Ces propriétés configurent les MP pour acheminer les requêtes cibles depuis Edge vers le proxy de transfert HTTP.
Pour configurer un MP pour le proxy de transfert:
- 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 à l'utilisateur "apigee" :
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 illustré dans l'exemple suivant :
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Le tableau suivant décrit les propriétés du fichier message-processor.properties
que vous utilisez pour configurer un MP pour un proxy de transfert 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 une tunnelisation pour tout le trafic. Pour désactiver le tunneling 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 informations d'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 le proxy de transfert est configuré pour le MP, tout le trafic allant des proxys d'API aux cibles de backend passe 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
Ensuite, définissez use.proxy
sur "true" pour tout TargetEndpoint que vous souhaitez passer par un proxy de transfert HTTP:
<Property name="use.proxy">true</Property>
Par défaut, Edge utilise une tunnelisation pour le trafic à destination du proxy. Pour désactiver le tunneling 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 tunnellisation pour une cible spécifique, définissez la propriété use.proxy.tunneling
dans le TargetEndpoint. Si la cible utilise TLS/SSL, 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 agisse en tant que proxy de transfert (réception des requêtes des services de backend et routage vers Internet en dehors de l'entreprise), commencez par configurer un proxy d'API sur Edge. Le service de backend peut ensuite envoyer une requête au proxy d'API, qui peut ensuite se connecter à des services externes.