Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de CloudFront fonctions avec Origin Mutual TLS
CloudFront Functions fournit un calcul léger et sans serveur à la périphérie pour personnaliser la diffusion de contenu. Lorsque vous utilisez Origin Mutual TLS avec CloudFront Functions, il existe des comportements et des limites spécifiques à prendre en compte en ce qui concerne la sélection et la manipulation de l'origine.
Opérations CloudFront des fonctions prises en charge
CloudFront Les fonctions peuvent interagir avec mes TLS-enabled origines de la manière suivante :
mise à jour RequestOrigin ()
La fonction update RequestOrigin () prend en charge des modifications limitées lorsque vous travaillez avec m TLS-enabled origins :
-
Basculement entre les origines des MTL d'origine : vous pouvez mettre à jour la demande pour qu'elle soit acheminée vers une autre origine utilisant des MTL d'origine, à condition que les deux origines utilisent le même certificat client. Cela vous permet d'implémenter une logique de routage personnalisée tout en maintenant l'authentification TLS mutuelle. La commutation entre les origines utilisant différents certificats est prise en charge par le biais
selectRequestOriginById()descreateRequestOriginGroup()API et. -
Désactivation des MTL d'origine : vous pouvez passer d'une TLS-enabled origine m à une origine non MTLS en
mTLSConfig: 'off'configurant la fonction. Cela permet de désactiver de manière conditionnelle l'authentification TLS mutuelle en fonction des caractéristiques de la demande.
Exemple : Basculer entre les origines MTL d'origine avec le même certificat
import cf from 'cloudfront'; function handler(event) { var request = event.request; // Route to different origin based on request path if (request.uri.startsWith('/api/v2')) { cf.updateRequestOrigin({ "domainName": "api-v2.example.com", "mTLSConfig": "inherit", // If no value is provided for mTLSConfig, it defaults to inherit // Both origins must use the same certificate }); } return request; }
Exemple : désactivation conditionnelle des MTL d'origine
import cf from 'cloudfront'; function handler(event) { var request = event.request; // Disable mTLS for specific paths if (request.uri.startsWith('/public')) { cf.updateRequestOrigin({ "domainName": "public-origin.example.com", "mTLSConfig": "off" }); } return request; }
sélectionner RequestOriginById ()
La selectRequestOriginById() fonction prend en charge la sélection des origines pour lesquelles le protocole TLS mutuel (origine) est activé. Vous pouvez utiliser cette fonction pour acheminer dynamiquement les demandes vers m TLS-enabled origines configurées dans votre distribution. Lorsque vous sélectionnez une origine compatible TLS (origine) mutuelle par ID, CloudFront utilise le certificat client configuré pour cette origine dans les paramètres de distribution.
Exemple : sélection d'une origine compatible avec le protocole TLS mutuel (origine) par identifiant
import cf from 'cloudfront'; function handler(event) { var request = event.request; // Select mTLS-enabled origin based on request characteristics if (request.uri.startsWith('/secure-api')) { cf.selectRequestOriginById("mtls-origin-1"); } return request; }
créer RequestOriginGroup ()
La createRequestOriginGroup() fonction prend en charge la création de groupes d'origine qui incluent des origines mutuelles compatibles TLS (origine). Vous pouvez créer dynamiquement des groupes d'origine avec des TLS-enabled origines m pour les scénarios de basculement dans CloudFront Functions.
Exemple : création d'un groupe d'origine avec des origines compatibles avec le protocole TLS mutuel (origine)
import cf from 'cloudfront'; function handler(event) { // Create origin group with mTLS-enabled primary and failover origins cf.createRequestOriginGroup({ "originIds": ["mtls-origin-primary", "mtls-origin-failover"], "failoverCriteria": { "statusCodes": [500, 502, 503, 504] } }); return event.request; }