Skip to main content
Private Connectivity

Privately connect to any service without joining the whole network.

Reach APIs, databases, and devices in remote and on-prem networks straight from your own cloud, cluster, or laptop. A VPN alternative with no firewall rules and no flat networks.

Available today with ngrokd. agent v4 is coming next.

How it works

Publish, consume, and route without public URLs or open ports.

Diagram showing traffic flowing from your cloud through the ngrok daemon and cloud service to a daemon in the remote network

Publish a private endpoint: The ngrok daemon runs alongside the remote service and publishes it. It connects outbound-only on port 443, so there are no inbound ports or firewall rules to open.

Consume it on your local network: The ngrok daemon maps the private endpoint to a local IP. Your apps connect like it's on the same network: curl, psql, whatever they already use.

1on_http_request:2  # route /api prefix to the API service3  - expressions:4      - req.url.path.startsWith('/api')5    actions:6      - type: forward-internal7        config:8          url: https://api.internal9 10  # route by subdomain to matching service11  - actions:12      - type: forward-internal13        config:14          url: https://${req.host.split('.')[0]}.internal

Traffic Policy at the ngrok cloud dynamically routes between private endpoints, rewrites URLs, adds headers, and load balances across replicas.

Application code on either side stays untouched. Go from one customer to many by adding endpoints—no config changes, no coordination.

Why ngrok?

Private without the infrastructure. Skip the VPN servers and WireGuard configs. The daemon connects outbound and is reachable from your network alone.

Works across every boundary. Same daemon, same model: a customer's cloud, an on-prem datacenter, a k8s cluster, or a Raspberry Pi.

Scales without scaling complexity. One private endpoint or a thousand, no new VPN tunnels. Add a service on one side and it appears on the other.

The firewall ticket can wait.
You don’t have to.

Install the daemon, publish a private endpoint, and connect. Free to start, and no sales call required.

Frequently asked questions