security: drop service headers

This commit is contained in:
yusing 2025-04-22 15:58:53 +08:00
parent 0a8aa2b215
commit ef483403da
2 changed files with 7 additions and 0 deletions

View file

@ -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) { func CopyHeader(dst, src http.Header) {
for k, vv := range src { for k, vv := range src {
for _, v := range vv { for _, v := range vv {

View file

@ -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) // Deal with 101 Switching Protocols responses: (WebSocket, h2c, etc)
if res.StatusCode == http.StatusSwitchingProtocols { if res.StatusCode == http.StatusSwitchingProtocols {
if !p.modifyResponse(rw, res, req, outreq) { if !p.modifyResponse(rw, res, req, outreq) {