Documentation de référence sur les propriétés des hôtes virtuels

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Représentation de l'hôte virtuel

L'objet XML que vous utilisez pour définir un hôte virtuel est basé sur votre version d'Edge: Cloud ou Private Cloud.

Si vous êtes un client Private Cloud, vous devez vous assurer d'utiliser le bon code XML pour votre version d'Edge.

Cloud et cloud privé 4.17.01 et versions ultérieures

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <BaseUrl>http://myCo.com</BaseUrl>
    <OCSPStapling>offOn</OCSPStapling>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    </Interfaces>
    <RetryOptions>
        <RetryOption>option</RetryOption>
    </RetryOptions>
    <ListenOptions>
        <ListenOption>option</ListenOption>
    </ListenOptions>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
    <UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
    <PropagateTLSInformation>
        <!-- PropagateTLSInformation is Alpha in the Cloud only -->
        <ConnectionProperties>trueFalse</ConnectionProperties>
        <ClientProperties>trueFalse</ClientProperties>
    </PropagateTLSInformation>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <!-- ssl_protocols is Private Cloud only -->
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

Private Cloud versions 4.16.01 à 4.16.09

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Private Cloud 4.15.07 et plus tôt

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>keystore</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>truststore</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
        <Ciphers>
             <Cipher>cipher</Cipher>
             <Cipher>cipher</Cipher>
         </Ciphers>
         <Protocols>
             <Protocol>protocol</Protocol>
             <Protocol>protocol</Protocol>
         </Protocols>
    </SSLInfo>
</VirtualHost>

Propriétés de configuration d'hôte virtuel

Le tableau suivant répertorie les propriétés permettant de configurer un hôte virtuel:

Propriétés Description Par défaut Obligatoire
VirtualHost

Spécifie le nom de l'hôte virtuel. Vous utilisez ce nom pour référencer l'hôte virtuel lors de la configuration d'un proxy d'API.

Vous ne pouvez utiliser que les caractères suivants dans l'attribut "name" : A-Z0-9._\-$%.

Aucun Oui
Port

Spécifie le numéro de port utilisé par l'hôte virtuel. Assurez-vous que le port est ouvert sur le Edge Router.

Si vous spécifiez un port dans un élément hostalias, le numéro de port spécifié par <Port> doit correspondre.

Pour le cloud: vous devez spécifier le port 443 lorsque vous créez un hôte virtuel. Si est omis, le port par défaut est 443. Si vous disposez d'un hôte virtuel existant qui utilise un port autre que 443, vous ne pouvez pas modifier le port.

Pour les versions 4.16.01 à 4.17.05 de Private Cloud:lors de la création d'un hôte virtuel, vous spécifiez le port de routeur utilisé par l'hôte virtuel. Par exemple, le port 9001. Par défaut, le routeur s'exécute en tant qu'utilisateur "apigee" qui n'a pas accès à des ports privilégiés, généralement les ports 1024 et inférieurs. Si vous souhaitez créer un hôte virtuel qui lie le routeur à un port protégé, vous devez alors configurer le routeur pour qu'il s'exécute en tant que un utilisateur ayant accès à ces ports. Voir Configurer un hôte virtuel pour plus encore.

Pour les versions de Private Cloud antérieures à la version 4.16.01:un routeur peut écouter une seule connexion HTTPS par hôte virtuel, sur un port spécifique, avec le certificat spécifié. Par conséquent, plusieurs hôtes virtuels ne peuvent pas utiliser le même numéro de port si la terminaison TLS se produit sur le routeur sur le port spécifié.

Aucun Oui
BaseUrl Remplace l'URL affichée par l'interface utilisateur Edge pour un proxy d'API déployé sur la hôte. Cette approche est utile lorsque vous avez un équilibreur de charge externe devant les routeurs Edge. Voir Configuration de TLS l'accès à une API pour le cloud privé.

La valeur de BaseUrl doit inclure le protocole (par exemple, "http://" ou "https://").

Aucun Non
OCSPStapling

Un client OCSP (Online Certificate Status Protocol) envoie un état à un répondeur OCSP pour déterminer si le certificat TLS est valide. La réponse indique si le certificat TLS est valide et non révoqué.

Lorsqu'elle est activée, l'agrafage OCISP autorise Edge, en agissant en tant que serveur TLS pour TLS à sens unique, pour interroger directement le répondeur OCSP, puis mettre en cache la réponse. Edge renvoie ensuite cette réponse au client TLS, ou l'agrafe, dans le cadre du handshake TLS. Consultez Activer l'agrafage OCSP sur votre serveur. pour en savoir plus.

TLS doit être activé pour activer l'agrafage OCSP. Définissez la valeur sur on pour l'activer. La valeur par défaut est off.

désactivé Non
HostAliases
HostAlias

Nom DNS publiquement visible de l'hôte virtuel sur le routeur, y compris éventuellement le numéro de port. La combinaison du nom d'alias d'hôte et du numéro de port pour l'hôte virtuel doit être unique pour tous les hôtes virtuels dans l'installation Edge. Autrement dit, plusieurs machines virtuelles les hôtes peuvent utiliser le même numéro de port s'ils ont des alias d'hôte différents.

Vous devez créer une entrée DNS et un enregistrement CNAME correspondant à l'alias d'hôte et à l'hôte l'alias doit correspondre à la chaîne transmise par le client dans l'en-tête Host.

Le numéro de port dans HostAlias est facultatif. Si vous indiquez le port dans l'alias d'hôte, vous devez également spécifier le même port en utilisant la Élément <Port>. Vous pouvez également spécifier deux éléments HostAlias : une avec le numéro de port et une sans.

Vous pouvez avoir plusieurs définitions de HostAlias dans la même définition d'hôte virtuel, ce qui correspond à plusieurs entrées DNS pour le hôte virtuel, mais pas pour plusieurs ports. Si vous souhaitez utiliser plusieurs ports, créez plusieurs ports des définitions d'hôte virtuel avec des ports différents.

Vous pouvez inclure le signe "*" dans l'alias d'hôte. Le « * » le caractère générique peut ne doit se trouver qu'au début (avant le premier ".") de l'alias d'hôte, et ne peut pas être mélangé avec d'autres caractères. Exemple : *.example.com. Le certificat TLS de l'hôte virtuel doit avoir un le caractère générique correspondant dans le nom CN du certificat. Exemple :*.example.com L'utilisation d'un caractère générique dans un alias d'hôte virtuel permet Les proxys d'API gèrent les appels adressés à plusieurs sous-domaines, tels que alpha.example.com, beta.example.com ou live.example.com L'utilisation d'un alias générique vous permet également d'utiliser moins de ressources d'hôtes par environnement pour rester dans le produit limites, car un hôte virtuel comportant un caractère générique compte comme un seul hôte virtuel.

Pour le cloud: si vous disposez d'un hôte virtuel qui utilise un port autre que supérieur à 443, vous ne pouvez pas ajouter ni supprimer d'alias d'hôte.

Pour un cloud privé:si vous définissez l'alias d'hôte à l'aide de l'adresse IP de vos routeurs, et non des entrées DNS, ajoutez un alias d'hôte distinct pour chaque en spécifiant l'adresse IP de chaque routeur et le port de l'hôte virtuel.

Aucun Oui
Interfaces Disponible pour Edge pour Private Cloud uniquement.
Interface

Spécifie les interfaces réseau auxquelles vous souhaitez associer port. Si vous omettre cet élément, le port est lié à toutes les interfaces.

Par exemple, pour spécifier de ne lier le port qu'à en0:

<Interfaces>
  <Interface>en0</Interface>
</Interfaces>

Déterminez les interfaces disponibles sur votre système en exécutant la commande "ifconfig -a" .

Aucun Toutes les interfaces
RetryOptions Disponible pour Edge Cloud et Private Cloud 4.18.01 et plus tard.
RetryOption

Configurez la réaction du routeur pour cet hôte virtuel lorsque le processeur de messages passe vers le bas.

Vous pouvez spécifier plusieurs valeurs à l'aide de <RetryOption>. Valeurs valides incluent:

off Désactive les nouvelles tentatives, et l'hôte virtuel renvoie un code d'échec lors d'une requête.
http_599 (Par défaut) Si le routeur reçoit une réponse HTTP 599 du message processeur, le routeur transmet la requête au processeur de messages suivant.

HTTP 599 est un code de réponse spécial généré par un message Processeur lorsqu'il est en cours d'arrêt. Le processeur de messages tente aux requêtes existantes, mais pour toutes les nouvelles requêtes, il renvoie le code HTTP 599 au routeur de relancer la requête sur le prochain processeur de messages.

error Si une erreur s'est produite lors de l'établissement d'une connexion avec le processeur de messages, en lui transmettant une requête ou en lisant l'en-tête de réponse, le routeur transfère la requête au processeur de messages suivant.
timeout Si un délai d’attente se produit lors de l’établissement d’une connexion avec le processeur de messages, en lui transmettant une requête ou en lisant l'en-tête de réponse, le routeur transfère la requête au processeur de messages suivant.
invalid_header Si le processeur de messages renvoie une réponse vide ou non valide, le routeur transfère la requête au processeur de messages suivant.
http_XXX Si le processeur de messages renvoie une réponse HTTP code XXX, le routeur transfère la requête au message suivant Processeur.

Si vous spécifiez plusieurs valeurs, le routeur utilise un opérateur logique OU pour les combiner.

Exemple :

<RetryOptions>
  <RetryOption>http_599</RetryOption>
  <RetryOption>error</RetryOption>
  <RetryOption>timeout</RetryOption>
  <RetryOption>invalid_header</RetryOption>
</RetryOptions>
ListenOptions Disponible pour Private Cloud 4.18.01 et versions ultérieures, et pour Edge Cloud en envoyant une demande à l'assistance Apigee Edge.
ListenOption

Si vous utilisez un ELB en mode pass-thru TCP pour gérer les requêtes adressées aux routeurs périphériques, le routeur traite l'adresse IP de l'ELB comme l'adresse IP du client au lieu de l'adresse IP réelle du client. Si le routeur a besoin de la véritable adresse IP du client, activer proxy_protocol sur le ELB afin qu'il transmette l'adresse IP du client dans le paquet TCP. Sur le routeur, vous devez également définir l'/le/la <ListenOption> sur l'hôte virtuel vers proxy_protocol. Étant donné que ELB est en mode pass-thru TCP, vous arrêtez généralement TLS sur le routeur. Par conséquent, vous configurez généralement uniquement l'hôte virtuel pour qu'il utilise proxy_protocol lorsque vous le configurez également pour utiliser TLS.

La valeur par défaut de <ListenOption> est vide .

Exemple :

<ListenOptions>
  <ListenOption>proxy_protocol</ListenOption>
</ListenOptions>

Pour annuler la définition de <ListenOption> ultérieurement, mettez à jour hôte virtuel et omettez la balise <ListenOptions> du mise à jour.

SSLInfo
Activées

Active le protocole TLS/SSL à sens unique. Vous devez avoir défini un keystore contenant le certificat et clé privée.

Pour le cloud: vous devez disposer d'un certificat signé par une entité de confiance telle que Symantec ou VeriSign. Vous ne pouvez pas utiliser de certificats autosignés ni de certificats feuilles signés par une autorité de certification autosignée.

Pour le cloud: si votre hôte virtuel existant est configuré pour utiliser un port autre que 443, vous ne pouvez pas modifier le paramètre TLS. Cela signifie que vous ne pouvez pas modifier le paramètre TLS de "désactivé" à "désactivé", ou de "désactivé", à "activer".

faux Non
ClientAuthEnabled Active le protocole TLS bidirectionnel, ou client, entre Edge (serveur) et l'application (client) effectuant la requête. L'activation du protocole TLS bidirectionnel nécessite que vous configuriez sur Edge un Truststore contenant le certificat du client TLS. faux Non
KeyStore

Nom du keystore sur Edge.

Apigee vous recommande d'utiliser une référence pour spécifier le nom du keystore afin de peut modifier le keystore sans avoir à redémarrer les routeurs. Voir les Options pour configuration TLS.

Aucun Oui si "Activé" est défini sur "true"
KeyAlias Alias spécifié lors de l'importation du certificat et de la clé privée dans le keystore. Toi vous devez spécifier le nom de l'alias vous ne pouvez pas utiliser de référence. Reportez-vous à la section Options de configuration TLS pour en savoir plus. Aucun Oui si "Activé" est défini sur "true"
TrustStore

Nom du magasin de confiance sur Edge qui contient le certificat ou la chaîne de certificats utilisé pour le protocole TLS bidirectionnel. Obligatoire si la valeur de <ClientAuthEnabled> est "true".

Apigee vous recommande d'utiliser une référence pour spécifier le nom du truststore afin de peut modifier le Truststore sans avoir à redémarrer les routeurs. Voir les Options pour configuration TLS.

Aucun Non
IgnoreValidationErrors

Si la valeur est "true", spécifie d'ignorer les erreurs de certificat TLS. Ceci est similaire à « -k » option à cURL.

Cette option est valide lors de la configuration du protocole TLS pour les serveurs cibles et les points de terminaison cibles. lors de la configuration d’hôtes virtuels utilisant TLS bidirectionnel.

Lorsqu'il est utilisé avec un point de terminaison cible ou un serveur cible, si le système backend utilise SNI et renvoie un certificat dont le nom distinctif (DN) de l'objet ne correspond pas au nom d'hôte, il est impossible d'ignorer l'erreur et la connexion échoue.

faux Non
Algorithmes de chiffrement

Pour Edge for Private Cloud version 4.15.07 et antérieures uniquement.

Spécifie les algorithmes de chiffrement compatibles avec l'hôte virtuel. Si aucun chiffrement n’est spécifié, alors tous les chiffrements disponibles pour la JVM seront autorisés.

Pour limiter les algorithmes de chiffrement, ajoutez les éléments suivants:

<Ciphers>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher>
</Ciphers>
Tous les éléments sont compatibles avec la JVM Non
Protocoles

Pour Edge for Private Cloud version 4.15.07 et antérieures uniquement.

Spécifie les protocoles acceptés par l'hôte virtuel. Si aucun protocole n'est spécifié, alors tous les protocoles disponibles pour la JVM seront autorisés.

Pour restreindre des protocoles, ajoutez les éléments suivants:

<Protocols>
  <Protocol>TLSv1</Protocol>
  <Protocol>TLSv1.2</Protocol>
  <Protocol>SSLv2Hello</Protocol>
</Protocols>
Tous les éléments sont compatibles avec la JVM Non
UseBuiltInFreeTrialCert Disponible pour Edge Cloud uniquement.
UseBuiltInFreeTrialCert

Si vous disposez d'un compte Edge for Cloud payant et que vous ne disposez pas encore d'un certificat et d'une clé TLS, vous pouvez Créez un hôte virtuel qui utilise le certificat et la clé d'essai sans frais d'Apigee. Cela signifie que vous pouvez créer l'hôte virtuel sans créer au préalable un keystore.

Le certificat d'essai sans frais d'Apigee est défini pour un domaine de *.apigee.net. Par conséquent, le <HostAlias> de l'hôte virtuel doit également être au format *.apigee.net.

Reportez-vous à la section Définir un hôte virtuel qui utilise la clé et le certificat d'essai sans frais Apigee.

faux Non
PropagateTLSInformation Disponible en version alpha pour Edge Cloud uniquement.
ConnectionProperties

Active la capture des informations de connexion TLS par Edge. Ces informations sont ensuite disponibles en tant que variables de flux dans un proxy d'API. Voir Accès aux informations de connexion TLS dans un proxy d'API. pour en savoir plus.

faux Non
ClientProperties

Active la capture des détails du certificat client capturés par Edge dans un protocole TLS bidirectionnel. Ces informations sont ensuite disponibles en tant que variables de flux dans un proxy d'API. Voir Accès aux informations de connexion TLS dans un proxy d'API. pour en savoir plus.

faux Non
Propriétés Disponible pour Edge Cloud et Private Cloud 4.17.01 et plus tard.
proxy_read_timeout

Définit le délai avant expiration, en secondes, entre les processeurs de messages et le routeur. La Le routeur interrompt la connexion et renvoie une réponse HTTP 504 s'il n'obtient pas du processeur de messages avant l'expiration de cette durée.

La valeur de proxy_read_timeout doit être supérieure à la valeur du délai d'expiration cible utilisée par le processeur de messages. Cela garantit que le routeur n'expire pas avant que le Le processeur de messages a eu le temps de renvoyer une réponse. Le délai avant expiration cible par défaut pour Le processeur de messages dure 55 secondes, 55 000 millisecondes, selon la définition Jeton conf_http_HTTPTransport.io.timeout.millis pour le message Processeur.

57 Non
keepalive_timeout

Définit le délai avant expiration, en secondes, entre le client et le routeur lorsque le client envoie une requête contenant l'en-tête Keep-Alive. Le routeur maintient la connexion ouverte jusqu'à l'expiration du délai.

Le routeur ne ferme pas la connexion s'il est en attente d'une réponse. du processeur de messages. Le délai avant expiration ne commence qu'une fois que le routeur a renvoyé la réponse. au client.

65 Non
ssl_ciphers

Définit les algorithmes de chiffrement compatibles avec l'hôte virtuel, en remplaçant les algorithmes de chiffrement par défaut le routeur.

Spécifiez une liste d'algorithmes de chiffrement délimités par deux-points, au format suivant:

<Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property>

Pour en savoir plus sur la syntaxe et les valeurs autorisées par ce jeton, consultez la page https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Notez que ce jeton utilise les noms de chiffrement OpenSSL, tels que AES128-SHA256, et non le Noms des algorithmes de chiffrement Java/JSSE, tels que TLS_RSA_WITH_AES_128_CBC_SHA256.

HIGH:!aNULL:

!MD5:

!DH+3DES:

!kEDH

Non
ssl_protocols

Disponible pour Edge pour Private Cloud uniquement.

Définit les protocoles TLS acceptés par l'hôte virtuel sous la forme d'une liste délimitée par des espaces. remplaçant les protocoles par défaut définis sur le routeur.

Remarque: Si deux hôtes virtuels partagent le même port, ils doivent définir ssl_protocols aux mêmes protocoles. Cela signifie que les hôtes virtuels partageant le même port doivent prennent en charge exactement les mêmes protocoles.

Spécifiez une liste de protocoles TLS délimités par des espaces, au format suivant:

<Property name="ssl_protocols">TLSv1 TLSv1.2</Property>
TLSv1 TLSv1.1 TLSv1.2 Non
proxy_request_buffering

Active (active) ou désactive (désactivée) la mise en mémoire tampon du corps de la requête. Lorsque la mise en mémoire tampon est activée, Le routeur met en mémoire tampon l'ensemble du corps de la requête avant de l'envoyer au processeur de messages. Si une erreur se produit, le routeur peut réessayer un autre processeur de messages.

Si cette option est désactivée, la mise en mémoire tampon est désactivée et le corps de la requête est envoyé au processeur de messages. dès sa réception. En cas d'erreur, le routeur ne relance pas l'opération à un autre processeur de messages.

le Non
proxy_buffering Active (active) ou désactive (désactivée) la mise en mémoire tampon de la réponse. Lorsque la mise en mémoire tampon est activée, Le routeur met la réponse en mémoire tampon. Lorsque la mise en mémoire tampon est désactivée, la réponse est transmise au client de manière synchrone, immédiatement lorsqu'il est reçu par le routeur. le Non