|
|
@@ -156,15 +156,18 @@ const (
|
|
|
|
|
|
// RemoteIp 返回远程客户端的 IP,如 192.168.1.1
|
|
|
func RemoteIp(req *http.Request) string {
|
|
|
- fmt.Printf("+++++++++++++++%v\n", req.Header)
|
|
|
- fmt.Printf("+++++++++++++++%v\n", req.Header.Get(XForwardedFor))
|
|
|
- fmt.Printf("+++++++++++++++%v\n", req.Header.Get(XRealIP))
|
|
|
- fmt.Printf("+++++++++++++++%v\n", req.RemoteAddr)
|
|
|
+ fmt.Printf("Header+++++++++++++++%v\n", req.Header)
|
|
|
+ fmt.Printf("XForwardedFor+++++++++++++++%v\n", req.Header.Get(XForwardedFor))
|
|
|
+ fmt.Printf("XRealIP+++++++++++++++%v\n", req.Header.Get(XRealIP))
|
|
|
+ fmt.Printf("x-original-forwarded-for+++++++++++++++%v\n", req.Header.Get("x-original-forwarded-for"))
|
|
|
+ fmt.Printf("RemoteAddr+++++++++++++++%v\n", req.RemoteAddr)
|
|
|
remoteAddr := req.RemoteAddr
|
|
|
if ip := req.Header.Get(XRealIP); ip != "" {
|
|
|
remoteAddr = ip
|
|
|
} else if ip = req.Header.Get(XForwardedFor); ip != "" {
|
|
|
remoteAddr = ip
|
|
|
+ } else if ip = req.Header.Get("x-original-forwarded-for"); ip != "" {
|
|
|
+ remoteAddr = ip
|
|
|
} else {
|
|
|
remoteAddr, _, _ = net.SplitHostPort(remoteAddr)
|
|
|
}
|