gin+Nginx获取真实的客户端IP


gin获取客户端真实IP方法如下:

func xx(c *gin.Context){
	
	ip := c.ClientIP()

}

当使用Nginx为Golang gin程序做反向代理(端口转发)或负载均衡时,gin得到的客户端IP为127.0.0.1,这是由于Nginx没有正确配置导致;

解决方法

在Nginx配置中设置两个HTTP Header,X-Real-IPX-Forward-For

location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $remote_addr;
}

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/gin-get-real-ClientIP.html