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.
Méthodes auxiliaires pour le protocole TLS mutuel
CloudFront fournit des fonctions d'TLS-specific assistance m dans l'espace de cf.mtls noms pour les fonctions de demande du spectateur. Ces fonctions permettent de renommer, reformater ou combiner les en-têtes des certificats clients avant de transmettre la demande à votre point d'origine.
import cf from "cloudfront";
cf.mtls.rename ClientCertHeaders
Renomme les en-têtes des métadonnées des certificats en noms d'en-tête personnalisés.
cf.mtls.renameClientCertHeaders({ "CloudFront-Viewer-Cert-Pem": "X-Client-Cert", "CloudFront-Viewer-Cert-Serial-Number": "X-Client-Cert-Serial", "CloudFront-Viewer-Cert-Issuer": "X-Client-Cert-Issuer", });
En-têtes de source autorisés :
CloudFront-Viewer-Cert-PemCloudFront-Viewer-Cert-Serial-NumberCloudFront-Viewer-Cert-IssuerCloudFront-Viewer-Cert-SubjectCloudFront-Viewer-Cert-ValidityCloudFront-Viewer-Cert-PresentCloudFront-Viewer-Cert-Sha256Client-CertClient-Cert-Chain
cf.mtls.rename PemHeaders
Renomme les en-têtes des certificats PEM et reformate éventuellement le codage du certificat.
cf.mtls.renamePemHeaders({ "Client-Cert": { "newHeaderName": "X-Leaf-Cert", "pemCertFormatInfo": { "certHeader": "-----CUSTOM HEADER-----", "certFooter": "-----CUSTOM FOOTER-----", "certEndMarker": "", "keepNewlinesInCertData": true } }, "Client-Cert-Chain": { "newHeaderName": "X-Intermediate-Certs", "pemCertFormatInfo": { "certHeader": "-----CUSTOM HEADER-----", "certFooter": "-----CUSTOM FOOTER-----", "certEndMarker": "", "keepNewlinesInCertData": true } } });
En-têtes de source autorisés :
En mode passthrough :
Client-Cert,Client-Cert-ChainEn required/optional mode :
Cloudfront-Viewer-Cert-PEM
pemCertFormatInfodomaines :
Pour Cloudfront-Viewer-Cert-PEM :
certHeaderremplace-----BEGIN CERTIFICATE-----.certFooterremplace-----END CERTIFICATE-----.certEndMarkerdéfinit une chaîne personnalisée après le CertFooter.keepNewlinesInCertData(par défaut :true) préserve les nouvelles lignes dans les données base64 lorsque c'est vrai.
Pour Client-Cert et Client-Cert-Chain :
certHeaderremplace:.certFooterremplace:.certEndMarkerdéfinit une chaîne personnalisée après le CertFooter.keepNewlinesInCertData(par défaut :false) préserve les nouvelles lignes dans les données base64 lorsque c'est vrai.
cf.mtls.combine PemHeaders
Combine Client-Cert et Client-Cert-Chain en un seul en-tête contenant la chaîne de certificats complète.
cf.mtls.combinePemHeaders({ "newHeaderName": "X-Full-Chain", "pemCertFormatInfo": { "certHeader": "-----BEGIN CERTIFICATE-----", "certFooter": "-----END CERTIFICATE-----", "certEndMarker": "\n", "keepNewlinesInCertData": false } });
certEndMarkerdéfinit le délimiteur entre les certificats.
Note
-
Ces fonctions d'assistance peuvent être utilisées dans tous les modes mTLS (obligatoire, optionnel et direct). Cependant, cela
cf.mtls.combinePemHeadersn'a d'effet qu'en mode relais : dans les modes obligatoire et facultatif, lesClient-Cert-Chainen-têtesClient-Certet ne sont pas présents, la fonction est donc inopérante. -
Si
cf.mtls.*les méthodes etcf.updateRequestOrigin()lacustomHeaderscible ont le même nom d'en-tête, CloudFront renvoie une erreur 502. -
En mode Passthrough, CloudFront supprime les entrées
Client-Certou lesClient-Cert-Chainen-têtes et les ajoute à nouveau à partir du certificat client réel. -
CloudFront ne présente le contenu brut complet du certificat PEM dans aucune fonction de périphérie.