← Cloudflare Workers / workers / runtime-apis / bindings
mTLS
Při použití HTTPS ↗, server předloží certifikát, aby se klient mohl ověřit a prokázat svou identitu. Pro ještě vyšší zabezpečení některé služby vyžadují, aby certifikát předložil i klient.
Tento proces, známý jako mTLS ↗ - přesouvá autentizaci na úroveň protokolu TLS, místo aby se řešila v kódu aplikace. Připojení od neautorizovaných klientů jsou místo toho odmítnuta již během TLS handshake.
Chcete-li při komunikaci se službou prezentovat klientský certifikát, vytvořte certifikát mTLS binding v souboru Wrangler vašeho projektu Workeru. To vašemu Workeru umožní předložit službě klientský certifikát vaším jménem.
Nejprve nahrajte do svého účtu certifikát a jeho privátní klíč pomocí wrangler mtls-certificate příkaz:
npx wrangler mtls-certificate upload --cert cert.pem --key key.pem --name my-client-certPoté aktualizujte soubor Wrangler svého projektu Worker a vytvořte vazbu na certifikát mTLS:
{
"mtls_certificates": [
{
"binding": "MY_CERT",
"certificate_id": "<CERTIFICATE_ID>"
}
]
}[[mtls_certificates]]
binding = "MY_CERT"
certificate_id = "<CERTIFICATE_ID>"Přidání vazby na certifikát mTLS zahrnuje proměnnou v prostředí Workeru, na které fetch() metoda je dostupná. Tento fetch() metoda používá standardní Fetch API a má naprosto stejnou signaturu jako globální fetch, ale při navazování TLS spojení vždy předloží klientský certifikát.
Rozhraní
export default {
async fetch(request, environment) {
return await environment.MY_CERT.fetch("https://a-secured-origin.com");
},
};interface Env {
MY_CERT: Fetcher;
}
export default {
async fetch(request, environment): Promise<Response> {
return await environment.MY_CERT.fetch("https://a-secured-origin.com")
}
} satisfies ExportedHandler<Env>;