Solo 在线人数显示一直为 2 问题处理

本贴最后更新于 2794 天前,其中的信息可能已经水流花落

闲来无事,记录一下昨天消灭的一个自己造成的 BuG。

众所周知,Solo 有显示浏览量和当前在线人数的统计功能,但一般也不会去注意这些小细节,不知道从什么时候开始在线人数就一直显示为 2,这被有完美主义强迫症的我看到了还了得,必须把这个问题处理一下。

仔细一想,恍然大悟,不久前才刚刚处理了这个问题!!

同病相怜

在我的另一个小网站上,有一个上传 APK 获取应用信息的工具,是根据访问的 IP 对上传次数做了限制的,有一段时间限制一直不起作用,查看日志后发现,请求的 IP 一直都是 127.0.0.10:0:0:0:0:0:0:1 这两个地址,这不都是本机的地址吗?!所以这就一定是 Solo 在线人数一直显示为 2 的原因。

iApk-2017033012.21.33.jpg

都是 Nginx 惹的祸

因为我的 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 的在线人数果然就多了起来... 至少自己看着舒服一点,后悔当初自己为什么那么懒,不在每一个 server{} 中都加上这几条配置。话说强迫症有药吗 🤔 ? 有得治没...

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3453 回帖 • 204 关注
  • IP
    11 引用 • 65 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1434 引用 • 10054 回帖 • 490 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...