Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.
Représentation de l'hôte virtuel
L'objet XML que vous utilisez pour définir un hôte virtuel dépend de votre version d'Edge : Cloud ou Private Cloud.
Si vous êtes un client Private Cloud, vous devez vous assurer d'utiliser le code XML approprié 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 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 versions antérieures
<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 des hôtes virtuels
Le tableau suivant liste les propriétés que vous utilisez pour 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 faire référence à l'hôte virtuel lors de la configuration d'un proxy d'API. Les caractères que vous pouvez utiliser dans l'attribut "name" sont limités à : 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 routeur Edge. Si vous spécifiez un port dans un élément Pour Cloud : vous devez spécifier le port 443 lorsque vous créez un hôte virtuel. Si elle est omise, le port est défini par défaut sur 443. Si vous disposez d'un hôte virtuel existant qui utilise un port autre que le port 443, vous ne pouvez pas modifier le port. Pour les versions 4.16.01 à 4.17.05 de Private Cloud : lorsque vous créez un hôte virtuel, vous spécifiez le port du 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 aux 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 configurer le routeur pour qu'il s'exécute en tant qu'utilisateur ayant accès à ces ports. Pour en savoir plus, consultez Configurer un hôte virtuel. Pour les versions Private Cloud antérieures à 4.16.01 : un routeur ne peut écouter qu'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 au port spécifié. |
Aucun | Oui | ||||||||||||
| BaseUrl | Remplace l'URL affichée par l'interface utilisateur Edge pour un proxy d'API déployé sur l'hôte virtuel. Utile lorsque vous avez un équilibreur de charge externe devant les routeurs Edge. Pour en savoir plus, consultez Configurer l'accès TLS à une API pour le cloud privé.
La valeur de |
Aucun | Non | ||||||||||||
| OCSPStapling |
Un client OCSP (Online Certificate Status Protocol) envoie une demande d'é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 n'a pas été révoqué. Lorsqu'il est activé, l'agrafage OCSP permet à Edge, qui fait office de serveur TLS pour le protocole TLS unidirectionnel, d'interroger directement le répondeur OCSP et de mettre en cache la réponse. Edge renvoie ensuite cette réponse au client TLS ou l'agrafe dans le cadre de l'établissement de la liaison TLS. Pour en savoir plus, consultez Activer l'agrafage OCSP sur votre serveur. Le protocole TLS doit être activé pour activer l'agrafage OCSP. Définissez la valeur sur |
désactivé | Non | ||||||||||||
| HostAliases | |||||||||||||||
| HostAlias |
Nom DNS visible publiquement de l'hôte virtuel sur le routeur, incluant éventuellement le numéro de port. La combinaison du nom de l'alias d'hôte et du numéro de port de l'hôte virtuel doit être unique pour tous les hôtes virtuels de l'installation Edge. Cela signifie que plusieurs hôtes virtuels 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. L'alias d'hôte doit correspondre à la chaîne que le client transmet dans l'en-tête Le numéro de port dans Vous pouvez avoir plusieurs définitions Vous pouvez inclure le caractère générique "*" dans l'alias d'hôte. Le caractère générique "*" ne peut être utilisé qu'au début de l'alias d'hôte (avant le premier ".") et ne peut pas être combiné avec d'autres caractères.
Exemple : Pour Cloud : si vous disposez d'un hôte virtuel existant qui utilise un port autre que le port 443, vous ne pouvez pas ajouter ni supprimer d'alias d'hôte. Pour le cloud privé : si vous définissez l'alias d'hôte à l'aide des adresses IP de vos routeurs et non des entrées DNS, ajoutez un alias d'hôte distinct pour chaque routeur, en spécifiant l'adresse IP de chaque routeur et le port de l'hôte virtuel. |
Aucun | Oui | ||||||||||||
| Interfaces | Disponible uniquement pour Edge pour le cloud privé. | ||||||||||||||
| Interface |
Spécifie les interfaces réseau auxquelles vous souhaitez que Par exemple, pour spécifier de lier le port uniquement à 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 pour le cloud privé 4.18.01 et versions ultérieures. | ||||||||||||||
| RetryOption |
Configurez la façon dont le routeur réagit pour cet hôte virtuel lorsque le processeur de messages tombe en panne. Vous pouvez spécifier plusieurs valeurs à l'aide de
Si vous spécifiez plusieurs valeurs, le routeur les combine à l'aide d'un OR logique. 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 TCP pass-thru pour gérer les requêtes adressées aux routeurs Edge, le routeur traite l'adresse IP de l'ELB comme adresse IP du client au lieu de l'adresse IP réelle du client. Si le routeur nécessite l'adresse IP réelle du client, activez La valeur par défaut de Exemple : <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> Pour annuler la définition de |
||||||||||||||
| SSLInfo | |||||||||||||||
| Activé |
Active le protocole TLS/SSL unidirectionnel. Vous devez avoir défini un keystore contenant le certificat et la clé privée. Pour Cloud : vous devez disposer d'un certificat signé par une entité de confiance, telle que Symantec ou VeriSign. Vous ne pouvez pas utiliser de certificat autosigné ni de certificats feuilles signés par une autorité de certification autosignée. Pour 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 (l'activer ou le désactiver). |
faux | Non | ||||||||||||
| ClientAuthEnabled | Active le protocole TLS bidirectionnel ou client entre Edge (serveur) et l'application (client) qui effectue la requête. L'activation du TLS bidirectionnel nécessite de configurer un truststore sur Edge 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 pouvoir le modifier sans avoir à redémarrer les routeurs. Pour en savoir plus, consultez Options de configuration de TLS. |
Aucun | Oui si "Enabled" est défini sur "true" | ||||||||||||
| KeyAlias | Alias spécifié lorsque vous avez importé le certificat et la clé privée dans le keystore. Vous devez spécifier le nom de l'alias littéralement. Vous ne pouvez pas utiliser de référence. Pour en savoir plus, consultez Options de configuration de TLS. | Aucun | Oui si "Enabled" est défini sur "true" | ||||||||||||
| TrustStore |
Nom du truststore sur Edge contenant le certificat ou la chaîne de certificats utilisés pour le protocole TLS bidirectionnel. Obligatoire si Apigee vous recommande d'utiliser une référence pour spécifier le nom du truststore afin de pouvoir le modifier sans avoir à redémarrer les routeurs. Pour en savoir plus, consultez Options de configuration de TLS. |
Aucun | Non | ||||||||||||
| IgnoreValidationErrors |
Si la valeur est "true", les erreurs de certificat TLS sont ignorées. Cela ressemble à l'option "-k" de cURL. Cette option est valide lors de la configuration de TLS pour les serveurs cibles et les points de terminaison cibles, ainsi que lors de la configuration d'hôtes virtuels utilisant le 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 pour le cloud privé version 4.15.07 et versions antérieures uniquement. Spécifie les algorithmes de chiffrement compatibles avec l'hôte virtuel. Si aucun algorithme n'est spécifié, tous les algorithmes de chiffrement disponibles pour la JVM sont 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 types acceptés par la JVM | Non | ||||||||||||
| Protocoles |
Pour Edge pour le cloud privé version 4.15.07 et versions antérieures uniquement. Spécifie les protocoles acceptés par l'hôte virtuel. Si aucun protocole n'est spécifié, tous les protocoles disponibles pour la JVM seront autorisés. Pour restreindre les protocoles, ajoutez les éléments suivants : <Protocols> <Protocol>TLSv1</Protocol> <Protocol>TLSv1.2</Protocol> <Protocol>SSLv2Hello</Protocol> </Protocols> |
Tous les types acceptés par la JVM | Non | ||||||||||||
| UseBuiltInFreeTrialCert | Disponible pour Edge Cloud uniquement. | ||||||||||||||
| UseBuiltInFreeTrialCert |
Si vous disposez d'un compte Edge pour le cloud payant, et que vous ne disposez pas encore d'un certificat et d'une clé TLS, vous pouvez créer un hôte virtuel utilisant un certificat et une clé freetrial Apigee. Cela signifie que vous pouvez créer l'hôte virtuel sans créer de keystore au préalable. Le certificat d'essai sans frais Apigee est défini pour un domaine Consultez Définir un hôte virtuel qui utilise le certificat et la clé d'essai sans frais d'Apigee. |
faux | Non | ||||||||||||
| PropagateTLSInformation | Disponible en version alpha pour Edge Cloud uniquement. | ||||||||||||||
| ConnectionProperties |
Permet à Edge de capturer les informations de connexion TLS. Ces informations sont ensuite disponibles en tant que variables de flux dans un proxy d'API. Pour en savoir plus, consultez Accéder aux informations de connexion TLS dans un proxy d'API. |
faux | Non | ||||||||||||
| ClientProperties |
Permet de capturer les détails du certificat client capturés par Edge dans le protocole TLS bidirectionnel. Ces informations sont ensuite disponibles en tant que variables de flux dans un proxy d'API. Pour en savoir plus, consultez Accéder aux informations de connexion TLS dans un proxy d'API. |
faux | Non | ||||||||||||
| Propriétés | Disponible pour Edge Cloud et pour le cloud privé 4.17.01 et versions ultérieures. | ||||||||||||||
| proxy_read_timeout |
Définit la durée du délai d'inactivité, en secondes, entre les processeurs de messages et le routeur. Le routeur abandonne la connexion et renvoie une réponse HTTP 504 s'il ne reçoit pas de réponse 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'inactivité cible utilisée par le processeur de messages. Cela garantit que le routeur n'expire pas avant que le processeur de messages ait eu le temps de renvoyer une réponse. Le délai avant expiration de la cible par défaut pour le processeur de messages est de 55 secondes (55 000 millisecondes), comme défini par le jeton |
57 | Non | ||||||||||||
| keepalive_timeout |
Définit la durée du délai d'inactivité, 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'à expiration de la durée. Le routeur ne fermera pas la connexion s'il attend actuellement une réponse du processeur de messages. Le délai commence uniquement après que le routeur a renvoyé la réponse au client. |
65 | Non | ||||||||||||
| ssl_ciphers |
Définit les codes secrets acceptés par l'hôte virtuel, en remplaçant les codes secrets par défaut définis sur le routeur. Spécifiez une liste de codes de chiffrement délimitée par des 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 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 les noms de chiffrement Java/JSSE, tels que TLS_RSA_WITH_AES_128_CBC_SHA256. |
HIGH:!aNULL:
!MD5 : !DH+3DES: !kEDH |
Non | ||||||||||||
| ssl_protocols |
Disponible uniquement pour Edge pour le cloud privé. Définit les protocoles TLS compatibles avec l'hôte virtuel, sous la forme d'une liste délimitée par des espaces, en 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 Spécifiez une liste de protocoles TLS délimités par un espace, au format suivant : <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1, TLSv1.1, TLSv1.2 | Non | ||||||||||||
| proxy_request_buffering |
Active (on) ou désactive (off) 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'intégralité du corps de la requête avant de l'envoyer au processeur de messages. En cas d'erreur, le routeur peut réessayer avec 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é immédiatement au processeur de messages dès sa réception. En cas d'erreur, le routeur ne relance pas la requête auprès d'un autre processeur de messages. |
le | Non | ||||||||||||
| proxy_buffering | Active (on) ou désactive (off) la mise en mémoire tampon de la réponse. Lorsque la mise en mémoire tampon est activée, le routeur met en mémoire tampon la réponse. Lorsque la mise en mémoire tampon est désactivée, la réponse est transmise au client de manière synchrone, immédiatement après sa réception par le routeur. | le | Non | ||||||||||||