|
@@ -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
|
|
}
|
|
}
|
|
|
|
|