在 golang gin controller 中使用

  1. c.ClientIP()

获取请求的 IP,但是获取到的是 127.0.0.1.
估计是 Nginx 在转发请求给 golang 时,没有配置好。

解决方法


增加两行配置即可。

  1. location /go/ {
  2. proxy_set_header X-Forward-For $remote_addr;
  3. proxy_set_header X-real-ip $remote_addr;
  4. proxy_pass http://127.0.0.1:8080/go/;
  5. }

注意 proxy_pass http://127.0.0.1:8080/go/; 放在最后一行。
reload nginx,测试,果然可以。