Documentation

Reverse proxy et DNS local

Exposez des processus web et API locaux avec des hostnames HTTPS.

Utilisez ce pattern quand votre projet lance déjà des processus web/API localement et que vous voulez des hostnames HTTPS stables devant eux.

nginx active implicitement certificates. Ajoutez dnsmasq quand vous voulez la résolution DNS locale des hostnames configurés.

schema_version = 1
tld = "local.dev.test"

enabled = ["dnsmasq", "nginx"]

[nginx]
https_port = 54443

[[nginx.server]]
server_names = ["app.local.dev.test"]
link = { label = "App", path = "/" }
upstreams = { web = "http://127.0.0.1:3000", api = "http://127.0.0.1:4000" }

[[nginx.server.route]]
match = { prefix = "/api/ws" }
to = { upstream = "api", websocket = true }

[[nginx.server.route]]
match = { prefix = "/api/" }
to = { upstream = "api" }

[[nginx.server.route]]
match = { prefix = "/" }
to = { upstream = "web", websocket = true }

[[nginx.server]]
server_names = ["admin.local.dev.test"]
link = { label = "Admin", path = "/" }
upstreams = { web = "http://127.0.0.1:3001", api = "http://127.0.0.1:4001" }

[[nginx.server.route]]
match = { prefix = "/api/" }
to = { upstream = "api" }

[[nginx.server.route]]
match = { prefix = "/" }
to = { upstream = "web", websocket = true }

A adapter

  • tld et server_names: choisissez un domaine réservé à votre workspace local.
  • https_port: gardez un port non privilégié comme 54443, sauf si vous voulez délibérément le port 443.
  • upstreams: pointez vers les ports utilisés par vos processus applicatifs.
  • websocket = true: gardez-le pour les dev servers, HMR ou APIs WebSocket.

Référence liée

Voir [nginx], [[nginx.server]] et [[nginx.server]].route.