// use case

Expose your Rails dev server on a public HTTPS URL

rails s starts on 127.0.0.1:3000. You need https for OAuth, ActionCable over WSS, Stripe webhooks, and Active Storage signed URLs that match the public host. lrok terminates real TLS so Rails sees request.ssl? = true.
  1. Start Rails

    $ rails s -b 0.0.0.0 -p 3000
  2. Tunnel

    $ lrok http 3000
  3. Hosts authorization

    Add config.hosts << 'mysite-dev.lrok.io' to config/environments/development.rb. Skip this and Rails returns 403 Blocked host.

  4. ActionCable origins

    config.action_cable.allowed_request_origins << 'https://mysite-dev.lrok.io' so WebSocket connections aren't rejected.

// why lrok for this

Rails's signed-URL features (ActiveStorage attachments, signed routes) bake the host into the signature. Reserved subdomains keep the host stable so signed URLs you generated yesterday still work today.

Related workflows