今天复杂sso的同事不在,让我帮忙处理一个问题,说java的用户组调用sso说返回异常,于是他们贴了下日志
call sso method: associate/index@{nick=[], refresh_token=[], auth=[ABC1258
64], sign=[f5ec2d0f0ead8a932a950219515a533f], alipay_email=[], type=[4], fields=[], expires_in=[0], headpic=[], key=[1392109259], token=[]}
于是我拼了下连接
curl -d "auth=ABC125864&sign=f5ec2d0f0ead8a932a950219515a533f&type=4&expires_in=0&key=1392109259&nick=&refresh_token=&alipay_email=&fields=&headpic=&token=" http://xx.xx.cn/associate/index
第一次访问正常,第二次却返回504报GATEWAY_TIMEOUT
,后面访问了多次都是这样。为什么第一次可以,后面就不可以,不太科学啊。于是我猜可能是PHP处理报错了,可能是ip hash后负载到一台,那台有问题。
问了下运维,sso一共4台服务器都在腾讯云
10.66.4.34
10.66.4.35
10.66.4.100
10.66.4.101
这个是腾讯云内网IP,在我本地电脑上没法加host访问定位到其中一台,于是借了一台腾讯云机器,一台一台的加host试,结果发现100、101有报错了。错误原因是这两台没有mamchche扩展,找了粗心大意的运维加上,问题成功解决~~~(ps:出问题的那两台是应对压测后加的)
这个是很常见的定位问题的方式,今天又复习了下~