diff --git a/main.go b/main.go index 1eabf59..616e5fd 100644 --- a/main.go +++ b/main.go @@ -26,6 +26,15 @@ type ConfigTelegraam struct { GroupID int64 `yaml:"group_id"` } +func GetRemoteAddr(r *http.Request) string { + realIP := r.Header.Get("X-Real-IP") + if realIP != "" { + return realIP + } else { + return r.RemoteAddr + } +} + func BuildMessage(r *http.Request) string { t := time.Now() @@ -41,7 +50,7 @@ func BuildMessage(r *http.Request) string { // Формируем содержимое entry := fmt.Sprintf("[%s] %s %s%s\n", t.Format(time.RFC3339), r.Method, r.Host, r.URL.String()) - entry += "RemoteAddr: " + r.RemoteAddr + "\n" + entry += "RemoteAddr: " + GetRemoteAddr(r) + "\n" entry += "Headers:\n" for name, values := range r.Header { for _, v := range values {