我怀疑你们偷偷修复了Bug但我没有证据:使用CDN后突然无法通过X-Forwarded-For获取访客IP的问题。

这事要在很久前说起,忘记什么时候开始发现通过x-forward-for获取到的数据不准确了,可是我却没有放在心上拖到了5月28日才发工单请求帮忙处理。在没发工单前我想到的先去阅读一下文档看看是否更新了获取IP的headers但是没有新的发现反倒是知道了为什么鄙站以前仅有少得可伶的收录全都没有了的原因。这一切的一切原来是因为CDN为了SEO对搜索引擎默认进行了回源处理而我在源站设置了对应的防火墙规则导致蜘蛛爬取不到我的网站了甚至还把以前收录到的记录都给删除掉,这也让我怀疑日志里记录的某蜘蛛User-Agent可能是伪造的但是我没有对IP进行确认是否属于蜘蛛的。我怀疑的理由是CDN默认回源和这蜘蛛还经常访问一些不存在但是又属于敏感的地址。

虽然在工单联系时就让我使用“tcpdump”抓包看看回源请求头的可是我无论如何都无法抓取得到http的协议包,后续又是让我传源站日志查验。由于工单联系的不够随时客服都问我是不是接入实时chat联系但是隔了很久才看到后来就是问我方便电话联系否可是在凌晨我也没有回应了。问我是否方便电话沟通是因为我为了抓取http的包而去将回源协议改成http,很好改成http后能抓取到http包且能看到xff拿到正确的数据同时也发现在PHP中也能获取到正确的数据,虽说这样能拿到想要的xff,这样又导致以前登陆后台重定向过多的问题又又复现了,在访问另外一个没改回源协议的域名时发现好吧也可以在PHP中拿到数据,这样就不需要我去想办法解析TLSv1.2的数据包了。至于怎么好的我很是纳闷,客服的解释是自定义的回源头“X-Forwarded-For:$clientip”导致的,可是客服5月30号帮我去掉后只是单单显示回源服务器的IP还是拿不到正确的数据,就在6月2号凌晨突然有空准备改回源协议抓包后就能成功了。。。。。。真是玄学的操作所以我都怀疑是不是偷偷修复Bug了,可是我改回源协议前好试了下没有成功改了后就可以了。

在面板还不支持自定义回源协议、端口、回源头时曾经联系客服解决重定向过多的问题,或者客服帮我改成了https回源使重定向问题解决了几个月后我又再次联系客服解决了xff的问题,直到今年4月xff又不对了通过少得可怜的评论可以大致找到出现问题的日期。不知道是什么时候改版的因为我也很久没有登陆过面板了,知道某日登陆才发现面板多了一些功能不需要经常麻烦客服,在那是发现自定义回源头有个“X-Forwarded-For:$clientip”以为是必须的就没有删除(也不知道是不是那时候就出现问题了),后来为了不再出现这个问题和能更好的使用自定义回源的一些参数我就建议更新完善一下文档(不知道有没有用)来方便更好的使用像“$clientip”这样的自带变量。“$clientip”现在我已知可能就是缓存服务器的IP。

我为什么要这么纠结于这个呢?这都是为了防止反垃圾系统更好的工作。至于最后是不是成功修复了我只能等有人评论(为什么不自己评论自己???)才知道了。(在修复当天有条广告评论告诉我应该是成功修好了这个问题)

ChiuYut

2020年6月3日

发布者

ChiuYut

咦?我是谁?这是什么地方? Ya ha!我是ChiuYut!这里是我的小破站!