Zero downtime reload for reverse proxies?


(Alex Martin) #1

Hello!

My use case for Caddy is primarily that of a reverse proxy.
As such, I often need to reload the services that are behind Caddy.

I see that Caddy has a zero downtime reload for its own configuration, which is great.
Is there a way to tell Caddy to “hold on to” requests that it would normally send to a given upstream while the upstream reloads?

Thanks for your help!


(Matthew Fay) #2

Caddy doesn’t really have a way of telling whether an upstream server is capable of receiving a request until it tries to make that request.

You could use multiple upstream servers. With try_duration set to some value of time, clients will “hang” on their request while Caddy tries all the available upstream servers until one produces a response or the try_duration runs out.