Block on TLS
Inspects the incoming request's TLS version and blocks if under TLSv1.2.
export default {  async fetch(request) {    try {      const tlsVersion = request.cf.tlsVersion;      // Allow only TLS versions 1.2 and 1.3      if (tlsVersion !== "TLSv1.2" && tlsVersion !== "TLSv1.3") {        return new Response("Please use TLS version 1.2 or higher.", {          status: 403,        });      }      return fetch(request);    } catch (err) {      console.error(        "request.cf does not exist in the previewer, only in production",      );      return new Response(`Error in workers script ${err.message}`, {        status: 500,      });    }  },};export default {  async fetch(request): Promise<Response> {    try {      const tlsVersion = request.cf.tlsVersion;      // Allow only TLS versions 1.2 and 1.3      if (tlsVersion !== "TLSv1.2" && tlsVersion !== "TLSv1.3") {        return new Response("Please use TLS version 1.2 or higher.", {          status: 403,        });      }      return fetch(request);    } catch (err) {      console.error(        "request.cf does not exist in the previewer, only in production",      );      return new Response(`Error in workers script ${err.message}`, {        status: 500,      });    }  },} satisfies ExportedHandler;from workers import Response, fetch
async def on_fetch(request):    tls_version = request.cf.tlsVersion    if tls_version not in ("TLSv1.2", "TLSv1.3"):        return Response("Please use TLS version 1.2 or higher.", status=403)    return fetch(request)Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark