Frequently Asked Questions
What headers does/doesn't Centauri pass to the upstream service?
Centauri will automatically set the following headers:
X-Forwarded-For- to include the IP address of the client making the requestX-Forwarded-Proto- to indicate the protocol of the downstream connection (http/https)X-Forwarded-Host- the original hostname the request was received forTailscale-User-Login- username of the Tailscale user making the request, if applicableTailscale-User-Name- display name of the Tailscale user making the request, if applicableTailscale-User-Profile-Pic- profile picture of the Tailscale user making the request, if applicable
If the client sends any of these headers, they will be ignored and not passed on to the upstream. Centauri will also actively remove any of the following, despite not using them itself:
X-Real-IPTrue-Client-IPForwarded
Can Centauri select upstreams based on {url,port,cookies,etc}?
No. Centauri currently performs all routing based on the requested hostname. Additional methods may be added in the future, but Centauri will likely stick to being simple and easy to understand vs becoming a swiss army knife.
Can Centauri automatically route traffic to containers based on labels?
Not on its own. This is a deliberate design decision, in order to avoid exposing a service with access to the docker daemon to the Internet. Instead, you can use a tool such as Dotege that will generate a config file for Centauri. See the example for more details.