Persistent URLs
Reserve a subdomain in your account and use --subdomain to keep the same public URL across restarts.
2 min read
Without a reserved subdomain, each tunnel gets a random URL such as dev-xyz.t.resolvelabs.com.br, which changes every time you restart. With a reserved subdomain, the CLI uses it for you (it asks which one if you have several). Use --random-url to get a random one anyway.
Reserve a subdomain
Log in to your dashboard and reserve the name you want. Then pass it with --subdomain:
rl-tunnel http 3000 --subdomain my-appForwarding: https://my-app.t.resolvelabs.com.br -> http://localhost:3000The URL stays the same every time you run the command, until you release the name.
Why it matters
- Webhook URLs in Stripe, GitHub or Twilio never need to be updated.
- OAuth redirect URIs and CORS allowlists stay valid.
- Teammates, QA and clients keep the same bookmark.
- Mobile apps can keep a stable dev API URL.
Naming rules
- Lowercase letters, numbers and hyphens, 1 to 63 characters, with no hyphen at the start or end (for example
acme-api-dev). - Prefer names tied to the project, not the person, so the URL outlives the laptop.
- A name is reserved by one account. If it is taken, the dashboard tells you right away.
- Names such as
www,api,adminanddocsare reserved by the system.
Running the same name twice
If another session of your own account uses the same subdomain, the new one takes over and the older one is closed (it won't reconnect and fight for the name). Another account can never take it.
Several services
Give each service its own subdomain, ideally in a config file, and start them together with rl-tunnel start --all.