From 6741aabb2661ab550861f79b95d11fea87f04430 Mon Sep 17 00:00:00 2001 From: Mohammad Hariri Date: Fri, 21 Feb 2025 00:36:28 +0100 Subject: [PATCH] feat: add ip address to the logs --- compose_production.yaml | 3 +++ middlewares/logger.go | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/compose_production.yaml b/compose_production.yaml index 2dfb804..8e3de29 100644 --- a/compose_production.yaml +++ b/compose_production.yaml @@ -23,6 +23,9 @@ services: - "traefik.http.routers.guestbook.rule=Host(`moshariri.com`)" - "traefik.http.routers.guestbook.entrypoints=websecure" - "traefik.http.routers.guestbook.tls.certresolver=myresolver" + - "traefik.http.middlewares.forward-auth-headers.headers.customrequestheaders.X-Forwarded-For=true" + - "traefik.http.middlewares.forward-auth-headers.headers.customrequestheaders.X-Real-IP=true" + - "traefik.http.routers.guestbook.middlewares=forward-auth-headers" - "com.centurylinklabs.watchtower.enable=true" image: portfolio:prod restart: always diff --git a/middlewares/logger.go b/middlewares/logger.go index 2091213..aa314cf 100644 --- a/middlewares/logger.go +++ b/middlewares/logger.go @@ -20,11 +20,12 @@ func (w *statusResponseWriter) WriteHeader(code int) { func Logger(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + ips := r.Header.Get("X-Forwarded-For") rw := newStatusResponseWriter(w) now := time.Now() next.ServeHTTP(rw, r) since := time.Since(now) - log.Println(r.Method, r.URL.Path, r.RemoteAddr, rw.status, since) + log.Println(r.Method, ips, r.URL.Path, rw.status, since) }) }