Domains, HTTPS and apps behind a proxy

Why ports are not published, how to give a service an HTTPS domain, and which proxy headers your app must trust.

Ports and domains

ports: are not published on the server. Services are reachable only through domains: open the project → Domains, choose the service and its internal port, and get an HTTPS address. Inside the project, services talk to each other by service name (http://backend:8080).

Applications behind a proxy

Requests reach your app through an HTTPS proxy. The app must trust the X-Forwarded-Proto and X-Forwarded-Host headers, otherwise redirects go to http:// and CORS checks fail with 403.

  • Spring Boot: server.forward-headers-strategy: framework;
  • Express: app.set('trust proxy', true);
  • other frameworks: enable "trust proxy" / forwarded headers.