我作为一个善解人意的消费者,花钱买东西,往往不给卖家添麻烦。
这是第一次认真享受服务。
可惜的是,腾讯云的工程师搞不定,我这个工单传了无数的截图,说明,最终人家把我甩给了微信的工程师。
微信的工程师对我进行远程协助,也是困难的一B。
他做的事情就是看日志,然而相关日志我早就看了。
不过他进了一步,在代码里插了更多的输出。
但是为了改代码,我们俩真是付出不少代价,因为我的五笔输入法他玩不转,叫他按左shift,他好像也无法正常切到英文,结果在auth.php的头上输入了一堆乱七八糟的东西,这锅可能要vim来背吧。
下午我实在是不能再等了,只好让这哥们先歇着,我得出门了。
晚上回家再战,玩了几把游戏继续研究这个事情。
最后想起昨晚就怀疑的事情:是不是这个服务器压根不能访问外网?
其实之前就用curl访问过百度,curl -l “http://baidu.com”
结果是没有结果。
没错,狗日的这个服务器现在根本就不能访问外网!!!!(之前想到这个问题的时候,跑到腾讯云的监控界面查看“外网出包量”什么的,看不出所以然,感觉好像是能访问的样子,其实纯属扯淡)
从网上搜索解决linux不能访问外网的说明,发现network文件里没有配置信息,只有一句注释。
于是我按照网上的说明自己写了一份配置。写完一重启网络服务,结果服务器竟然无法用ssh访问了。
但是此时测试却发现:小程序端不再报那个超时错误!而是报json解析错误。
但是考虑到现在无法用ssh,只好想办法把它改回来。
怎么改呢?
用腾讯云提供的在线登录功能登进去,用vi把文件改回来。
改完一想,还得把问题找到啊。
哪儿能控制访问外网呢?原来腾讯云有个“安全组”的安全策略设定功能。
一查之下发现会话服务器和业务服务器都被放到了一个比较严格的安全组。
于是我把会话服务器解放出来。
终于curl可以访问百度了。
再一测试,结果和前面自己改network一样,报错信息变了。
而ssh终端也没出问题。
1005无法连接微信服务器的问题终于不再有了!!!
基本上胜利了。
不过这次报的Json解析错误怎么办呢?
我从会话服务器的日志中没看到有json错误,我把那段json放到js控制台里直接定义成变量,明显成了一个正常的对象。也就是说json本身应该没错。
回到业务服务器,我找到pm2的日志,运气非常好。
一拉就找到问题所在了。
就是前面那些乱七八糟的p\n\r\nx什么的搞的鬼。
这些东西怎么出来的呢?还是因为微信工程师在给我远程的时候不小心输入进去的。
php也是吊,这些东西输入到<?php之前竟然可以正常运行,只不过影响到最后的输出,我也是醉了。
把这些东西一删掉,结果就正常了。
终于,见到了久违的登录成功。
这事真是一波N折,其实就是一件小事,只不过我们想太多,忘了一些基本的问题。真正的灯下黑!
不过这次也算是第一次享受了售后服务。不容易。
微信的工程师还是不错的(也不知道是不是微信的工程师,外包的服务团队?还是什么代理商的人?)
不过找别人解决问题,有时效率不如自己,因为对方可能会把我已经做过的事情再做一遍。
求人不如求己,要相信自己的判断。