Redirect-IP-logger/server.go

31 lines
468 B
Go

package main
import (
"fmt"
"log"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
ip := GetRealIP(r)
fmt.Fprintf(w, ip)
}
func GetRealIP(r *http.Request) string {
IP := r.Header.Get("X-Real-IP")
if IP == "" {
IP = r.Header.Get("X-Forwarder-For")
}
if IP == "" {
IP = r.RemoteAddr
}
if IP == "" {
IP = "No IPV4 address"
}
return IP
}
func main() {
http.HandleFunc("/", handler)
log.Fatal(http.ListenAndServe(":8081", nil))
}