Connect Workers to Cloudflare Mesh
This example demonstrates how to use a VPC Network binding with Cloudflare Mesh (formerly WARP Connector) to connect to any private service in your account from a Worker — without pre-registering individual hosts or specifying a tunnel UUID.
When you bind to Cloudflare Mesh using network_id: "cf1:network", your Worker can reach any Mesh node, client device, or subnet route in your account.
- A Cloudflare Mesh node connected to your private network
- Private services running behind your Mesh node (for example, an internal API, database, or web application)
Bind your Worker to Cloudflare Mesh using network_id: "cf1:network" in your Wrangler configuration:
{ "$schema": "./node_modules/wrangler/config-schema.json", "name": "mesh-gateway", "main": "src/index.js", // Set this to today's date "compatibility_date": "2026-04-15", "vpc_networks": [ { "binding": "MESH", "network_id": "cf1:network", "remote": true } ]}"$schema" = "./node_modules/wrangler/config-schema.json"name = "mesh-gateway"main = "src/index.js"# Set this to today's datecompatibility_date = "2026-04-15"
[[vpc_networks]]binding = "MESH"network_id = "cf1:network"remote = trueWith this single binding, your Worker can reach any service across all tunnels and Mesh nodes in your account.
Use the VPC Network binding to access services by private IP address. Cloudflare Mesh currently supports IP-based routing only.
// Replace with the Mesh IP and port of your private serviceconst NODE_IP = "10.0.1.50";const NODE_PORT = 8080;
export default { async fetch(request, env, ctx) { try { const response = await env.MESH.fetch( `http://${NODE_IP}:${NODE_PORT}/api/data`, ); return response; } catch (error) { // fetch() throws if the VPC Network cannot connect to the target return new Response("Service unavailable", { status: 503 }); } },};Unlike VPC Services, the URL you pass to fetch() determines the actual destination. You can reach any IP and port accessible through your Mesh network without creating separate bindings for each service.
Deploy your Worker and verify it can reach your private services:
npx wrangler deploy# Test accessing the internal user APIcurl https://mesh-gateway.workers.dev/api/users
# Test accessing metrics by private IPcurl https://mesh-gateway.workers.dev/api/metrics- Learn more about VPC Networks configuration options
- Refer to the Workers Binding API reference
- Set up Cloudflare Mesh for your account
- Explore other examples