diff --git a/internal/net/gphttp/httpheaders/utils.go b/internal/net/gphttp/httpheaders/utils.go index 00bed76..2f348ca 100644 --- a/internal/net/gphttp/httpheaders/utils.go +++ b/internal/net/gphttp/httpheaders/utils.go @@ -82,6 +82,11 @@ func RemoveHop(h http.Header) { } } +func RemoveServiceHeaders(h http.Header) { + h.Del("X-Powered-By") + h.Del("Server") +} + func CopyHeader(dst, src http.Header) { for k, vv := range src { for _, v := range vv { diff --git a/internal/net/gphttp/reverseproxy/reverse_proxy_mod.go b/internal/net/gphttp/reverseproxy/reverse_proxy_mod.go index 49988f0..4e37d73 100644 --- a/internal/net/gphttp/reverseproxy/reverse_proxy_mod.go +++ b/internal/net/gphttp/reverseproxy/reverse_proxy_mod.go @@ -380,6 +380,8 @@ func (p *ReverseProxy) handler(rw http.ResponseWriter, req *http.Request) { }() } + httpheaders.RemoveServiceHeaders(res.Header) + // Deal with 101 Switching Protocols responses: (WebSocket, h2c, etc) if res.StatusCode == http.StatusSwitchingProtocols { if !p.modifyResponse(rw, res, req, outreq) {