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

  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 à "apigee" utilisateur:
    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 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 true, ce qui signifie que vous pouvez utiliser un proxy de transfert au niveau de la couche de proxy de l'API en incluant le code XML approprié dans votre configuration du 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 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 Host. Par défaut, l'hôte et le port du proxy sont définis comme des 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 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.