Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Metode pembantu untuk TLS timbal balik
CloudFront menyediakan fungsi m TLS-specific helper di cf.mtls namespace untuk fungsi permintaan penampil. Fungsi-fungsi ini mengganti nama, memformat ulang, atau menggabungkan header sertifikat klien sebelum meneruskan permintaan ke asal Anda.
import cf from "cloudfront";
cf.mtls.ganti nama ClientCertHeaders
Mengganti nama header metadata sertifikat menjadi nama header khusus.
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", });
Header sumber yang diizinkan:
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.ganti nama PemHeaders
Mengganti nama header sertifikat PEM dan secara opsional memformat ulang pengkodean sertifikat.
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 } } });
Header sumber yang diizinkan:
Dalam mode passthrough:
Client-Cert,Client-Cert-ChainDalam required/optional mode:
Cloudfront-Viewer-Cert-PEM
pemCertFormatInfobidang:
Untuk Cloudfront-Viewer-Cert-PEM:
certHeadermenggantikan-----BEGIN CERTIFICATE-----.certFootermenggantikan-----END CERTIFICATE-----.certEndMarkermenetapkan string kustom setelah CertFooter.keepNewlinesInCertData(default:true) mempertahankan baris baru dalam data base64 saat benar.
Untuk Client-Cert danClient-Cert-Chain:
certHeadermenggantikan:.certFootermenggantikan:.certEndMarkermenetapkan string kustom setelah CertFooter.keepNewlinesInCertData(default:false) mempertahankan baris baru dalam data base64 saat benar.
cf.mtls.combine PemHeaders
Menggabungkan Client-Cert dan Client-Cert-Chain menjadi satu header yang berisi rantai sertifikat lengkap.
cf.mtls.combinePemHeaders({ "newHeaderName": "X-Full-Chain", "pemCertFormatInfo": { "certHeader": "-----BEGIN CERTIFICATE-----", "certFooter": "-----END CERTIFICATE-----", "certEndMarker": "\n", "keepNewlinesInCertData": false } });
certEndMarkermenetapkan pembatas antara sertifikat.
catatan
-
Fungsi pembantu ini dapat digunakan di semua mode mTLS (wajib, opsional, dan passthrough). Namun,
cf.mtls.combinePemHeadershanya berpengaruh dalam mode passthrough — dalam mode wajib dan opsional,Client-Cert-ChainheaderClient-Certdan tidak ada, jadi fungsinya adalah no-op. -
Jika
cf.mtls.*metode dancf.updateRequestOrigin()dengancustomHeaderstarget nama header yang sama, CloudFront mengembalikan kesalahan 502. -
Dalam mode Passthrough, CloudFront jatuhkan semua yang masuk
Client-CertatauClient-Cert-Chainheader dan tambahkan kembali dari sertifikat klien yang sebenarnya. -
CloudFront tidak menyajikan konten sertifikat PEM mentah lengkap dalam fungsi tepi apa pun.