From 0e3027bddebfaff3003f86b776ebf15fead6f139 Mon Sep 17 00:00:00 2001 From: Benjamin Wang Date: Tue, 21 Jul 2026 09:47:16 +0100 Subject: [PATCH] Set a 5-minutes ReadHeaderTimeout for client http.Server Signed-off-by: Benjamin Wang --- server/embed/serve.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/server/embed/serve.go b/server/embed/serve.go index 2b28cf1cc6b..50e61437cd7 100644 --- a/server/embed/serve.go +++ b/server/embed/serve.go @@ -24,6 +24,7 @@ import ( "net/http" "strings" "sync" + "time" gw "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/soheilhy/cmux" @@ -173,8 +174,9 @@ func (sctx *serveCtx) serve( if httpEnabled { httpmux := sctx.createMux(gwmux, handler) srv = &http.Server{ - Handler: createAccessController(sctx.lg, s, httpmux), - ErrorLog: logger, // do not log user error + Handler: createAccessController(sctx.lg, s, httpmux), + ReadHeaderTimeout: 5 * time.Minute, + ErrorLog: logger, // do not log user error } if err = configureHTTPServer(srv, s.Cfg); err != nil { sctx.lg.Error("Configure http server failed", zap.Error(err)) @@ -263,9 +265,10 @@ func (sctx *serveCtx) serve( httpmux := sctx.createMux(gwmux, handler) srv = &http.Server{ - Handler: createAccessController(sctx.lg, s, httpmux), - TLSConfig: tlscfg, - ErrorLog: logger, // do not log user error + Handler: createAccessController(sctx.lg, s, httpmux), + TLSConfig: tlscfg, + ReadHeaderTimeout: 5 * time.Minute, + ErrorLog: logger, // do not log user error } if err = configureHTTPServer(srv, s.Cfg); err != nil { sctx.lg.Error("Configure https server failed", zap.Error(err))