diff --git a/inbound/naive.go b/inbound/naive.go index a506ecd4..6a956714 100644 --- a/inbound/naive.go +++ b/inbound/naive.go @@ -90,6 +90,9 @@ func (n *Naive) Start() error { n.httpServer = &http.Server{ Handler: n, TLSConfig: tlsConfig, + BaseContext: func(listener net.Listener) context.Context { + return n.ctx + }, } go func() { var sErr error diff --git a/transport/v2raygrpclite/server.go b/transport/v2raygrpclite/server.go index 774d880f..bcf55def 100644 --- a/transport/v2raygrpclite/server.go +++ b/transport/v2raygrpclite/server.go @@ -50,6 +50,9 @@ func NewServer(ctx context.Context, options option.V2RayGRPCOptions, tlsConfig t } server.httpServer = &http.Server{ Handler: server, + BaseContext: func(net.Listener) context.Context { + return ctx + }, } server.h2cHandler = h2c.NewHandler(server, server.h2Server) return server, nil diff --git a/transport/v2rayhttp/server.go b/transport/v2rayhttp/server.go index 304836ec..962f0ab1 100644 --- a/transport/v2rayhttp/server.go +++ b/transport/v2rayhttp/server.go @@ -70,6 +70,9 @@ func NewServer(ctx context.Context, options option.V2RayHTTPOptions, tlsConfig t Handler: server, ReadHeaderTimeout: C.TCPTimeout, MaxHeaderBytes: http.DefaultMaxHeaderBytes, + BaseContext: func(net.Listener) context.Context { + return ctx + }, } server.h2cHandler = h2c.NewHandler(server, server.h2Server) return server, nil diff --git a/transport/v2raywebsocket/server.go b/transport/v2raywebsocket/server.go index 47dee8fc..73bf56ff 100644 --- a/transport/v2raywebsocket/server.go +++ b/transport/v2raywebsocket/server.go @@ -52,6 +52,9 @@ func NewServer(ctx context.Context, options option.V2RayWebsocketOptions, tlsCon Handler: server, ReadHeaderTimeout: C.TCPTimeout, MaxHeaderBytes: http.DefaultMaxHeaderBytes, + BaseContext: func(net.Listener) context.Context { + return ctx + }, } return server, nil }