在revel里,我用
revel.WARN.Println("commentData host:", c.Request.RemoteAddr)
来获取客户ip。
可是返回的却是:commentData host: 127.0.0.1:36633
这是为嘛啊。
看了一下 源代码, request.RemoteAddr 竟然是 直接连接的 socket addr
这个调用: `syscall.Sockaddr`
严格说是正确的, 但是跟 http 有点出入. 如果这个不算 bug, 而且通过 nginx/apache 等服务器转发 Go http 时, 只能从 nginx/apache 服务器的 header 取得 remote ip 了。
#2
更多评论