Allow binding of multiple interfaces (but not 0.0.0.0)
Is your feature request related to a problem? Please describe.
I want to have rqlite listening on my tailscale interface ip (so that other hosts can securely get to the cluster) and localhost (so local queries dont route through tailscale layer)
i can only choose 0.0.0.0 to get both. (I tried chaining more http-addr and seems last wins)
but if I do 0.0.0.0 then I also get my public internet gateway IP and then I have to do more stuff to prevent outsiders from access to the cluster.
Describe the solution you'd like
allow chaining of http-addr on command line; environment variables can be a space/comma seperated list
Describe alternatives you've considered
I build a firewall rule on each node as a workaround. Right now this is what I am relying on since my firewall is deny-all and tailscale works around that natively --- but I worry that I might one day forget and when I change firewall to allow all suddenly my rqlite cluster is a security hole that I had no idea was part of the attack surface.
The other idea I had was to listen to localhost only and do caddy tricks to make it work (adds DNS complexity and a lot of other stuff for a workaround)
Additional context
keydb has a simlar issue and in their conf file you can do "bind {tailscale_ip} localhost" and it does the right thing.
Source: rqlite/rqlite