fix(sub): set read/write/idle timeouts on the subscription server (#5360)

The public subscription http.Server set no timeouts, leaving the most exposed
listener open to slow-header/Slowloris exhaustion. Mirror the panel server
timeouts already used in internal/web/web.go.
This commit is contained in:
n0ctal
2026-06-20 03:39:17 +05:00
committed by GitHub
parent b0ef60670c
commit 118d1e4398
+7
View File
@@ -297,6 +297,13 @@ func (s *Server) Start() (err error) {
s.httpServer = &http.Server{
Handler: engine,
// The subscription server is the most exposed (public) listener; without
// these a few slow-header connections exhaust it (Slowloris). Mirrors the
// panel server timeouts in internal/web/web.go.
ReadHeaderTimeout: 5 * time.Second,
ReadTimeout: 30 * time.Second,
WriteTimeout: 30 * time.Second,
IdleTimeout: 120 * time.Second,
}
go func() {