🌐 Forward IP for login/register device creation (external API)

This commit is contained in:
Daniel Aloni 2023-02-27 17:00:26 +02:00
parent 5b83b4754c
commit 0d9f37f427
2 changed files with 6 additions and 0 deletions

View file

@ -239,6 +239,9 @@ func MakeExternalAPI(metricsName string, f func(*http.Request) util.JSONResponse
span := opentracing.StartSpan(metricsName)
defer span.Finish()
req = req.WithContext(opentracing.ContextWithSpan(req.Context(), span))
if forwardedFor := req.Header.Get("X-Forwarded-For"); forwardedFor != "" {
req.RemoteAddr = forwardedFor
}
h.ServeHTTP(nextWriter, req)
}

View file

@ -191,6 +191,9 @@ func (rp *RequestPool) updateLastSeen(req *http.Request, device *userapi.Device)
return
}
if forwardedFor := req.Header.Get("X-Forwarded-For"); forwardedFor != "" {
req.RemoteAddr = forwardedFor
}
remoteAddr := req.RemoteAddr
if rp.cfg.RealIPHeader != "" {
if header := req.Header.Get(rp.cfg.RealIPHeader); header != "" {