diff --git a/kernel/server/serve.go b/kernel/server/serve.go index 8ac8f7990..b7f661401 100644 --- a/kernel/server/serve.go +++ b/kernel/server/serve.go @@ -241,12 +241,13 @@ func Serve(fastMode bool, cookieKey string) { // 反代服务器启动失败不影响核心服务器启动 }() + httpHandler := ginServer.Handler() util.HttpServer = &http.Server{ - Handler: ginServer, + Handler: httpHandler, } if useTLS && (util.FixedPort == util.ServerPort || util.IsPortOpen(util.FixedPort)) { - if err = util.ServeMultiplexed(ln, ginServer, certPath, keyPath, util.HttpServer); err != nil { + if err = util.ServeMultiplexed(ln, httpHandler, certPath, keyPath, util.HttpServer); err != nil { if errors.Is(err, http.ErrServerClosed) || errors.Is(err, cmux.ErrListenerClosed) { return } diff --git a/kernel/util/cmux.go b/kernel/util/cmux.go index 5395d8b5b..cf28034dd 100644 --- a/kernel/util/cmux.go +++ b/kernel/util/cmux.go @@ -24,6 +24,7 @@ func ServeMultiplexed(ln net.Listener, handler http.Handler, certPath, keyPath s tlsConfig := &tls.Config{ Certificates: []tls.Certificate{cert}, + NextProtos: []string{"h2", "http/1.1"}, } tlsListener := tls.NewListener(tlsL, tlsConfig)