Overview
For compatibility, point your reverse proxy athttps://api.cyberdesk.io. Cyberdesk still exposes the machine tunnel there and replays it to the WebSocket service internally. Some organizations need to route that traffic through their own domain instead for network whitelisting, compliance, or privacy reasons.
Cyberdriver’s --host flag lets you specify a custom endpoint. Combined with a reverse proxy on your end, Cyberdriver tunnel and API traffic can be routed through your domain instead of directly to Cyberdesk.
Quick Setup
Set up a reverse proxy
Create a proxy on your domain that forwards to Cyberdesk. See Proxy Options below.
Proxy Options
Option 1: Nginx (Recommended)
Nginx is well-tested for WebSocket proxying and is the recommended approach:Option 2: Caddy
Caddy handles SSL automatically and supports WebSocket out of the box:Option 3: Cloudflare (Proxied DNS)
If your domain is on Cloudflare, you can use Cloudflare’s proxy (orange cloud) with a simple origin server. Cloudflare handles WebSocket proxying automatically when the origin responds with a WebSocket upgrade.Cloudflare Workers can proxy WebSocket connections, but for long-lived reverse tunnel connections, we recommend using Cloudflare’s standard proxy with an origin server (Nginx/Caddy) rather than a Worker.
Verifying the Setup
After configuring your proxy, test that Cyberdriver connects successfully:Important Notes
HTTPS Required: Cyberdriver requires a secure connection. Ensure your proxy has a valid SSL certificate. Caddy handles this automatically; for Nginx, use Let’s Encrypt or your organization’s certificates.
Troubleshooting
Connection drops after a few minutes
Connection drops after a few minutes
Your proxy may be timing out idle WebSocket connections. Ensure you have long timeouts configured:
- Nginx: Set
proxy_read_timeout 86400sandproxy_send_timeout 86400s - Load balancers: Set idle timeout to maximum (often 4000+ seconds)
WebSocket upgrade fails
WebSocket upgrade fails
Check that your proxy is correctly forwarding the upgrade headers:
- Nginx: Must have
proxy_http_version 1.1,Upgrade, andConnectionheaders set - Caddy: Should work automatically
- Verify with:
curl -I -H "Upgrade: websocket" -H "Connection: Upgrade" https://your-proxy.yourcompany.com
SSL/TLS errors
SSL/TLS errors
- Ensure your proxy has a valid SSL certificate for your domain
- The proxy must also trust
api.cyberdesk.io’s certificate when connecting upstream - Nginx:
proxy_ssl_server_name onis required for SNI
Machine connects but commands fail
Machine connects but commands fail
Check that bidirectional traffic is flowing:
- Verify no firewall is blocking WebSocket frames
- Ensure your proxy isn’t modifying or buffering the WebSocket data
- Check proxy logs for errors during message forwarding