plugin/forward: cap default connect attempts (#8365)

Default to two connect attempts per configured upstream so fast failures cannot spin until the request deadline. Track whether max_connect_attempts was explicitly configured so zero still opts into the legacy unbounded behavior.

Fixes #7723

Signed-off-by: houyuwushang <liuluoqianqiu@outlook.com>
This commit is contained in:
houyuwushang
2026-08-04 09:49:29 +08:00
committed by GitHub
parent dc1e3a96ad
commit 0fa6c66797
5 changed files with 98 additions and 17 deletions

View File

@@ -293,6 +293,7 @@ func parseBlock(c *caddy.Controller, f *Forward) error {
return err
}
f.maxConnectAttempts = uint32(n)
f.maxConnectAttemptsSet = true
case "health_check":
if !c.NextArg() {
return c.ArgErr()