Merge pull request #64 from globekeeper/DEV-378/forward-original-ip

🌐 Forward IP for login/register device creation (external API)
This commit is contained in:
Daniel Aloni 2023-02-27 18:06:36 +02:00 committed by GitHub
commit 937afcfa2d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 1 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

@ -105,7 +105,9 @@ func (s *accountDataStatements) SelectAccountDataInRange(
filter.Senders, filter.NotSenders,
filter.Types, filter.NotTypes,
[]string{}, nil, filter.Limit, FilterOrderAsc)
if err != nil {
return
}
rows, err := stmt.QueryContext(ctx, params...)
if err != nil {
return

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 != "" {