Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Hilfsmethoden für gegenseitiges TLS
CloudFront stellt m TLS-specific Hilfsfunktionen im cf.mtls Namespace für Viewer-Anforderungsfunktionen bereit. Diese Funktionen benennen die Header von Client-Zertifikaten um, formatieren sie neu oder kombinieren sie, bevor sie die Anfrage an Ihren Ursprung weiterleiten.
import cf from "cloudfront";
cf.mtls.rename ClientCertHeaders
Benennt die Header der Zertifikatsmetadaten in benutzerdefinierte Header-Namen um.
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", });
Zulässige Quell-Header:
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
Benennt die PEM-Zertifikatsheader um und formatiert optional die Zertifikatskodierung neu.
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 } } });
Zulässige Quell-Header:
Im Passthrough-Modus:,
Client-CertClient-Cert-ChainIm required/optional Modus:
Cloudfront-Viewer-Cert-PEM
pemCertFormatInfoFelder:
Für Cloudfront-Viewer-Cert-PEM:
certHeaderersetzt-----BEGIN CERTIFICATE-----.certFooterersetzt-----END CERTIFICATE-----.certEndMarkerlegt nach dem CertFooter eine benutzerdefinierte Zeichenfolge fest.keepNewlinesInCertData(Standard:true) behält Zeilenumbrüche in Base64-Daten bei, wenn der Wert wahr ist.
Für Client-Cert und Client-Cert-Chain:
certHeaderersetzt:.certFooterersetzt:.certEndMarkerlegt nach dem CertFooter eine benutzerdefinierte Zeichenfolge fest.keepNewlinesInCertData(Standard:false) behält Zeilenumbrüche in Base64-Daten bei, wenn der Wert wahr ist.
cf.mtls.combine PemHeaders
Kombiniert Client-Cert und Client-Cert-Chain zu einem einzigen Header, der die gesamte Zertifikatskette enthält.
cf.mtls.combinePemHeaders({ "newHeaderName": "X-Full-Chain", "pemCertFormatInfo": { "certHeader": "-----BEGIN CERTIFICATE-----", "certFooter": "-----END CERTIFICATE-----", "certEndMarker": "\n", "keepNewlinesInCertData": false } });
certEndMarkerlegt das Trennzeichen zwischen Zertifikaten fest.
Anmerkung
-
Diese Hilfsfunktionen können in allen mTLS-Modi (erforderlich, optional und Passthrough) verwendet werden. Hat jedoch
cf.mtls.combinePemHeadersnur im Passthrough-Modus eine Wirkung — im erforderlichen und optionalen Modus sind dieClient-Cert-ChainHeaderClient-Certund nicht vorhanden, sodass die Funktion nicht verfügbar ist. -
Wenn die
cf.mtls.*Methoden undcf.updateRequestOrigin()dascustomHeadersZiel denselben Header-Namen haben, wird ein CloudFront 502-Fehler zurückgegeben. -
Löscht im Passthrough-Modus alle CloudFront eingehenden Header
Client-CertoderClient-Cert-ChainHeader und fügt sie erneut aus dem eigentlichen Client-Zertifikat hinzu. -
CloudFront präsentiert in keiner Edge-Funktion den vollständigen Inhalt des PEM-Rohzertifikats.