Skip to content

Kong ​

阅读提示

  • 适用版本:Go 1.21+(示例在 Go 1.22 下验证)· 前置知识:标准库-http · 阅读时长:约 8 分钟

文档地址:(konghq.com)

开源地址:Kong/kong: 🦍 The Cloud-Native API Gateway (github.com)

完整示例 ​

下面的程序可以直接运行:复制到文件后执行 go run main.go,或粘贴到 Go Playground 运行。

go
package main

import (
	"fmt"
	"strings"
)

func main() {
	path := "/api/v1/users"

	fmt.Println("matches /api prefix:", strings.HasPrefix(path, "/api/"))
	stripped := strings.TrimPrefix(path, "/api")
	fmt.Println("stripped path:", stripped)
	fmt.Println("upstream URL:", "http://user-service:8080"+stripped)
}

预期输出:

text
matches /api prefix: true
stripped path: /v1/users
upstream URL: http://user-service:8080/v1/users

常见错误与踩坑 ​

  • 路由优先级容易踩坑。 精确匹配优先于前缀匹配,正则路由有单独的规则;配置后要逐一验证匹配结果。
  • 插件顺序很重要。 认证与限流必须排在业务插件之前;每个插件都有固定的 priority。
  • 健康检查配置在 upstream 上。 主动/被动检查能让故障实例停止接收流量。
  • 网关保持"薄"。 Kong 负责路由与防护,不适合承载业务逻辑。
  • 管理 API 要保护。 绑定内网地址并开启鉴权。

更新记录 ​

  • 2026-10-14:新增"阅读提示"、完整可运行示例(含预期输出)、常见错误与踩坑清单,以及本更新记录。