From 4ff8ee6a538cfcfeadb435685fc4c52d74f8d77e Mon Sep 17 00:00:00 2001 From: jichangjun Date: Mon, 22 Mar 2021 20:38:33 +0800 Subject: [PATCH] fix: only replase IP when the ClientIP belongs to IPV4 model --- pkg/cover/server.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/cover/server.go b/pkg/cover/server.go index 72e946b..9f058d1 100644 --- a/pkg/cover/server.go +++ b/pkg/cover/server.go @@ -136,7 +136,9 @@ func (s *server) registerService(c *gin.Context) { } realIP := c.ClientIP() - if host != realIP { + // only for IPV4 + // refer: https://github.com/qiniu/goc/issues/177 + if net.ParseIP(realIP).To4() != nil && host != realIP { log.Printf("the registered host %s of service %s is different with the real one %s, here we choose the real one", service.Name, host, realIP) service.Address = fmt.Sprintf("http://%s:%s", realIP, port) }