📦 Fiber 简要说明
🚀 fiber.New(config ...Config) *App
- 创建一个新的 Fiber 应用实例。
- 可以传入一个
Config结构体,来定制应用的行为。
示例
// 使用默认配置创建 Appapp := fiber.New()// 使用自定义配置创建 Appapp := fiber.New(fiber.Config{Prefork: true, // 启用多进程(Prefork 模式)CaseSensitive: true, // 路由大小写敏感StrictRouting: true, // 严格匹配带 / 和不带 / 的路由ServerHeader: "Fiber", // 返回响应头中的 Server 字段AppName: "Test App v1.0.1",})
⚙️ 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 等代理服务器后面,请搭配
EnableTrustedProxyCheck和TrustedProxies来正确获取c.IP()和c.Protocol()等信息。
⚠️ 其他功能方法
fiber.NewError(code int, message ...string) *Error
- 创建一个 HTTP 错误,例如:
return fiber.NewError(403, "禁止访问")
fiber.IsChild() bool
- 判断当前进程是否是 Prefork 模式下的子进程:
if !fiber.IsChild() {fmt.Println("我是主进程")} else {fmt.Println("我是子进程")}
