使用Go Fiber反向代理时浏览器显示纯HTML文本问题求助
解决Go Fiber反向代理页面仅显示纯HTML的问题
问题根源是你手动强制设置了Content-Type为text/html,这会让浏览器把代理返回的所有资源(包括CSS、JS、图片等)都当作纯HTML文本解析,自然无法正常渲染页面。
修正后的代码
if proxyPassCookie != hex.EncodeToString(cval) { return c.Status(fiber.StatusBadRequest).SendString("ERROR ID: 0001") } // Cookie exists, act as a reverse proxy prequestCounter.Inc() return proxy.Forward(proxyTargetURL)(c)
核心说明
- 删掉
c.Set(fiber.HeaderContentType, fiber.MIMETextHTML)这行代码,反向代理会自动转发目标服务器返回的完整响应头,其中包含对应资源正确的Content-Type(比如CSS的text/css、JS的application/javascript),浏览器就能正常识别并渲染各类资源。 - 你用的Go 1.21.1搭配Fiber v2的
proxy.Forward是稳定可用的,之前遇到废弃方法报错,大概率是误用了旧版已淘汰的API(比如早期的proxy.New系列写法),直接使用proxy.Forward即可。
内容的提问来源于stack exchange,提问作者JSharp
相关产品推荐
相关产品推荐

