server: trusted_proxies – X-Forwarded-For für Rate-Limit hinter Reverse-Proxy
This commit is contained in:
parent
97646da970
commit
126f4be2b9
6 changed files with 101 additions and 7 deletions
26
internal/server/clientip_test.go
Normal file
26
internal/server/clientip_test.go
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
package server
|
||||
|
||||
import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestClientIPTrustedProxy(t *testing.T) {
|
||||
s := &Server{}
|
||||
r := httptest.NewRequest("GET", "/", nil)
|
||||
r.RemoteAddr = "127.0.0.1:1234"
|
||||
r.Header.Set("X-Forwarded-For", "6.6.6.6, 1.2.3.4")
|
||||
if got := s.clientIP(r); got != "1.2.3.4" {
|
||||
t.Fatalf("loopback proxy: got %s", got)
|
||||
}
|
||||
r.RemoteAddr = "9.9.9.9:1"
|
||||
if got := s.clientIP(r); got != "9.9.9.9" {
|
||||
t.Fatalf("untrusted peer: got %s", got)
|
||||
}
|
||||
n, _ := ParseCIDRs([]string{"10.0.1.0/24"})
|
||||
s.TrustedProxies = n
|
||||
r.RemoteAddr = "10.0.1.6:1"
|
||||
if got := s.clientIP(r); got != "1.2.3.4" {
|
||||
t.Fatalf("cidr proxy: got %s", got)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue