enable h2c for vhost server (#4582)

This commit is contained in:
Sword 2024-12-13 14:37:07 +08:00 committed by GitHub
parent c73096f2bf
commit bb912d6c37
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -29,6 +29,8 @@ import (
libio "github.com/fatedier/golib/io" libio "github.com/fatedier/golib/io"
"github.com/fatedier/golib/pool" "github.com/fatedier/golib/pool"
"golang.org/x/net/http2"
"golang.org/x/net/http2/h2c"
httppkg "github.com/fatedier/frp/pkg/util/http" httppkg "github.com/fatedier/frp/pkg/util/http"
"github.com/fatedier/frp/pkg/util/log" "github.com/fatedier/frp/pkg/util/log"
@ -41,7 +43,7 @@ type HTTPReverseProxyOptions struct {
} }
type HTTPReverseProxy struct { type HTTPReverseProxy struct {
proxy *httputil.ReverseProxy proxy http.Handler
vhostRouter *Routers vhostRouter *Routers
responseHeaderTimeout time.Duration responseHeaderTimeout time.Duration
@ -138,7 +140,7 @@ func NewHTTPReverseProxy(option HTTPReverseProxyOptions, vhostRouter *Routers) *
_, _ = rw.Write(getNotFoundPageContent()) _, _ = rw.Write(getNotFoundPageContent())
}, },
} }
rp.proxy = proxy rp.proxy = h2c.NewHandler(proxy, &http2.Server{})
return rp return rp
} }