闲来无事,记录一下昨天消灭的一个自己造成的 BuG。
众所周知,Solo 有显示浏览量和当前在线人数的统计功能,但一般也不会去注意这些小细节,不知道从什么时候开始在线人数就一直显示为 2,这被有完美主义强迫症的我看到了还了得,必须把这个问题处理一下。
仔细一想,恍然大悟,不久前才刚刚处理了这个问题!!
在我的另一个小网站上,有一个上传 APK 获取应用信息的工具,是根据访问的 IP 对上传次数做了限制的,有一段时间限制一直不起作用,查看日志后发现,请求的 IP 一直都是 127.0.0.1
和 0:0:0:0:0:0:0:1
这两个地址,这不都是本机的地址吗?!所以这就一定是 Solo 在线人数一直显示为 2 的原因。
因为我的 Solo 服务一直在用独立模式,还有一个 itanken.cn 的服务也在同一台服务器上,所以后来就用了 Nginx 做了反向代理,发现上传功能的 IP 限制失效并查看日志之后,感觉这一定就是 Nginx 惹的祸,所以机智的我立马就用度娘搜索了 用 Nginx 反向代理后获取不到真实 IP,果不其然,需要在 Nginx 配置文件对应服务的 location / {}
中加上获取客户端真实 IP 地址的几个请求头的对应参数,在 Nginx 转发到的服务当中才可以获取到客户端请求的真实 IP,不然本机的 Nginx 转发到本机的 Web 服务中,服务中获取到的 IP 只能是 Nginx 的 IP,就是那两个本机地址。配置参数:
location / {
# ...
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# ...
}
这样在 Solo 对应的配置当中也加上这几条之后,重启 Nginx 之后 Solo 的在线人数果然就多了起来...
内容声明 | |
---|---|
标题: Solo 在线人数显示一直为 2 问题处理 | |
链接: https://zixizixi.cn/articles/2017/03/30/1490849602140.html | 来源: iTanken |
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可,转载请保留此声明。
|