Sfoglia il codice sorgente

请求头添加x-original-forwarded-for

icole 4 anni fa
parent
commit
1e7f4e8754
1 ha cambiato i file con 7 aggiunte e 4 eliminazioni
  1. 7 4
      utils/auth/light_auth.go

+ 7 - 4
utils/auth/light_auth.go

@@ -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)
 	}