编程 Fiber v3.5.0 的 proxy 中间件默认拒绝内网上游,内网部署需显式放行

2026-10-03 21:03:13

Fiber v3.5.0 的 proxy 中间件默认拒绝内网上游,内网部署需显式放行

项目信息:

proxy 中间件加固(#4405)

v3.5.0 给 proxy 中间件加了 proxy.SecurityPolicy,默认值是收紧的:

  • 默认拒绝 private/loopback 上游
  • 拒绝非 http(s) scheme
  • 拒绝 HTTPS→HTTP 的重定向降级
  • 剥离 hop-by-hop 头

需要放行内网上游时,显式打开 AllowPrivateIPs:

proxy.WithSecurityPolicy(proxy.SecurityPolicy{
    AllowPrivateIPs: true, // internal upstreams are blocked by default
})

安全策略文档:https://docs.gofiber.io/middleware/proxy#security

依赖升级

本次更新升级了若干依赖,包括 go-isatty、shamaton/msgpack/v3、gofiber/schema、gofiber/utils/v2、x/sys、x/text 等。

文档变更

  • 说明相邻多参数捕获规则。
  • 说明 Ctx 是不可取消(never-cancelable)的 context。
  • README 移到仓库根目录,便于 pkg.go.dev 渲染。
  • logger 说明 error tag 何时填充。

运行要求

Fiber v3 使用 unsafe,可能与最新 Go 版本不完全兼容;v3 已按 Go 1.26 或更高版本测试。

安装:

go get -u github.com/gofiber/fiber/v3

升级注意

v3.3 已加入 SSE 中间件与主机认证(Host Authorization)中间件,v3.4 加入了 HTTP QUERY 方法支持。升级到 v3.5 的主要变化是 proxy 中间件行为收紧,属于可能影响现有配置的变更——原先代理到内网或 loopback 上游的配置,需要补上 AllowPrivateIPs。

复制全文 生成海报 Go Fiber Web框架 中间件 安全

推荐文章

程序员茄子在线接单