fix client IP handling behind proxies
Deployment Config CI / Deployment Config (push) Successful in 27s
Frontend CI / Frontend (push) Successful in 3m2s
Backend CI / Backend (push) Successful in 14m8s

This commit is contained in:
2026-05-05 23:01:25 +08:00
parent ffb7d179c6
commit 3c912949e4
20 changed files with 272 additions and 16 deletions
@@ -132,6 +132,42 @@ brand_library: {}
}
}
func TestLoadAppliesServerTrustedProxyDefaultsAndOverrides(t *testing.T) {
defaultConfigPath := writeTestConfig(t, `
server: {}
`)
cfg, err := Load(defaultConfigPath)
if err != nil {
t.Fatalf("Load() default error = %v", err)
}
if got := cfg.Server.TrustedProxies; len(got) != len(DefaultTrustedProxies()) {
t.Fatalf("expected default trusted proxies, got %#v", got)
}
overrideConfigPath := writeTestConfig(t, `
server:
trusted_proxies:
- " 10.42.0.0/16 "
- ""
- "192.168.1.10"
`)
cfg, err = Load(overrideConfigPath)
if err != nil {
t.Fatalf("Load() override error = %v", err)
}
want := []string{"10.42.0.0/16", "192.168.1.10"}
if len(cfg.Server.TrustedProxies) != len(want) {
t.Fatalf("trusted proxies = %#v, want %#v", cfg.Server.TrustedProxies, want)
}
for i := range want {
if cfg.Server.TrustedProxies[i] != want[i] {
t.Fatalf("trusted proxies = %#v, want %#v", cfg.Server.TrustedProxies, want)
}
}
}
func TestLoadAppliesSchedulerHTTPDefaultsAndDisableSentinel(t *testing.T) {
defaultConfigPath := writeTestConfig(t, `
scheduler: {}