📦 Fiber 简要说明

🚀 fiber.New(config ...Config) *App

  • 创建一个新的 Fiber 应用实例。
  • 可以传入一个 Config 结构体,来定制应用的行为。

示例

  1. // 使用默认配置创建 App
  2. app := fiber.New()
  3. // 使用自定义配置创建 App
  4. app := fiber.New(fiber.Config{
  5. Prefork: true, // 启用多进程(Prefork 模式)
  6. CaseSensitive: true, // 路由大小写敏感
  7. StrictRouting: true, // 严格匹配带 / 和不带 / 的路由
  8. ServerHeader: "Fiber", // 返回响应头中的 Server 字段
  9. AppName: "Test App v1.0.1",
  10. })

⚙️ Config 配置项说明

Fiber 提供了非常丰富的配置项,以下是一些常见和重要的字段:

属性 类型 含义 默认值
AppName string 应用名称 ""
Prefork bool 是否启用 Prefork,多进程监听同一端口,提高性能(仅支持 tcp4 / tcp6) false
CaseSensitive bool 是否大小写敏感,/Foo/foo 是否为不同路由 false
StrictRouting bool 是否区分 /foo/foo/ false
EnableTrustedProxyCheck bool 是否启用受信代理检查 false
TrustedProxies []string 设置受信的代理 IP(用于真实 IP 获取) []
ProxyHeader string 指定获取 IP 的 Header,例如 "X-Forwarded-For" ""
ETag bool 是否启用 ETag 缓存头 false
ErrorHandler func(c *fiber.Ctx, err error) error 自定义错误处理器 DefaultErrorHandler

📌 如果你部署在 nginx、traefik 等代理服务器后面,请搭配 EnableTrustedProxyCheckTrustedProxies 来正确获取 c.IP()c.Protocol() 等信息。


⚠️ 其他功能方法

fiber.NewError(code int, message ...string) *Error

  • 创建一个 HTTP 错误,例如:
  1. return fiber.NewError(403, "禁止访问")

fiber.IsChild() bool

  • 判断当前进程是否是 Prefork 模式下的子进程:
  1. if !fiber.IsChild() {
  2. fmt.Println("我是主进程")
  3. } else {
  4. fmt.Println("我是子进程")
  5. }