feat: 连接列表显示客户端真实 IP,支持反代和 CDN 场景
新增可配置的 real_ip_headers(默认 CF-Connecting-IP > X-Real-IP > X-Forwarded-For 降级取值),trusted_proxies 用于 gin 代理信任链。 WebSocket 连接建立时捕获真实 IP 并在 /profile 和 /admin 连接列表展示, 登录会话 IP 同步改用真实 IP。
This commit is contained in:
@@ -26,6 +26,7 @@ func main() {
|
||||
}
|
||||
|
||||
middleware.SetJWTSecret(cfg.Web.JWTSecret)
|
||||
middleware.SetRealIPHeaders(cfg.Web.RealIPHeaders)
|
||||
|
||||
if err := db.Init(&cfg.Database); err != nil {
|
||||
log.Fatalf("数据库初始化失败: %v", err)
|
||||
@@ -38,6 +39,12 @@ func main() {
|
||||
|
||||
r := gin.Default()
|
||||
|
||||
if len(cfg.Web.TrustedProxies) > 0 {
|
||||
_ = r.SetTrustedProxies(cfg.Web.TrustedProxies)
|
||||
} else {
|
||||
_ = r.SetTrustedProxies(nil)
|
||||
}
|
||||
|
||||
router.Setup(r)
|
||||
|
||||
if cfg.Web.Port == 0 && cfg.Web.Sock == "" {
|
||||
|
||||
Reference in New Issue
Block a user