Configurer le proxy de transfert

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:

  1. 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.

  2. Modifiez le fichier pour définir les propriétés liées au proxy décrites dans le tableau ci-dessous.
  3. Assurez-vous que le fichier de propriétés appartient à l'utilisateur "apigee" :
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Enregistrez les modifications apportées au fichier de propriétés.
  5. 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 true, ce qui signifie que vous pouvez utiliser un proxy de transfert au niveau de la couche proxy de l'API en incluant le code XML correspondant dans la configuration de votre bundle.

Si vous définissez cette valeur sur false, vous ne pouvez pas utiliser de proxy de transfert.

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 Host. Par défaut, l'hôte et le port du proxy sont définis comme en-têtes Host. Vous ne pouvez définir cette propriété que dans le point de terminaison cible. Exemple :

<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.