diff --git a/server/ip_utils.go b/server/ip_utils.go index b8b56dc..e778449 100644 --- a/server/ip_utils.go +++ b/server/ip_utils.go @@ -1,33 +1,12 @@ package server import ( - "net" "net/http" - "strings" ) //custom vary by to use real remote IP without port type ipVaryBy struct{} func (ip ipVaryBy) Key(r *http.Request) string { - return getIPAddress(r) -} - -func getIPAddress(r *http.Request) string { - hdr := r.Header - hdrRealIP := hdr.Get("X-Real-Ip") - hdrForwardedFor := hdr.Get("X-Forwarded-For") - if hdrRealIP == "" && hdrForwardedFor == "" { - hdrRealIP, _, _ := net.SplitHostPort(r.RemoteAddr) - return hdrRealIP - } - if hdrForwardedFor != "" { - // X-Forwarded-For is potentially a list of addresses separated with "," - parts := strings.Split(hdrForwardedFor, ",") - for i, p := range parts { - parts[i] = strings.TrimSpace(p) - } - return parts[0] - } - return hdrRealIP + return r.RemoteAddr } diff --git a/server/server.go b/server/server.go index 3c780e5..243445c 100644 --- a/server/server.go +++ b/server/server.go @@ -90,7 +90,6 @@ func (s *Server) Start() error { // rate limiting // TODO add rate limiting after static handler and possible the main page - // TODO use IP set by proxyheaders! throttleHandler := makeThrottleHandler( s.apiConfig.APIRequestsPerMinute, s.apiConfig.APIRequestsBurst,