diff --git a/server/gateway.go b/server/gateway.go index 822b833..de71bea 100644 --- a/server/gateway.go +++ b/server/gateway.go @@ -59,8 +59,15 @@ func BuildRequest(r *ghttp.Request, host string) { w.WriteHeader(http.StatusBadGateway) w.Write([]byte("Bad Gateway")) } - + proxy.ModifyResponse = func(resp *http.Response) error { + // 获取原始响应的 Header + for k, v := range resp.Header { + r.Response.Header().Set(k, v[0]) + } + return nil + } // ServeHTTP 会自动处理 WebSocket 升级和所有 HTTP 方法 // 使用 RawWriter() 获取原始的 http.ResponseWriter,避免 gf 框架的封装影响 proxy.ServeHTTP(r.Response.RawWriter(), r.Request) + r.Response.WriteJson(r.Response.RawWriter()) }