自己想做网站怎么做,开网店的步骤和流程,装饰网站建设方案,直招招聘网作者#xff1a;小丫
一、问题现象
nacos服务内网可以正常登录#xff0c;如下#xff1a;
走公网代理出来之后#xff0c;无法正常登录#xff0c;报错用户名密码错误 二、排查步骤
1、链路分析
首先确认公网代理的链路#xff1a;
域名—haprox…作者小丫
一、问题现象
nacos服务内网可以正常登录如下
走公网代理出来之后无法正常登录报错用户名密码错误 二、排查步骤
1、链路分析
首先确认公网代理的链路
域名—haproxy—nginx—nacos
内网代理链路
ip—nginx—nacos
2、查找报错接口
既然内网登录正常证明该用户名密码正确。
首先查看现场浏览器访问登录地址打开f12查看是否有报错接口 可以看到https://xxx/nacos/v1/auth/users/login 这个接口返回500异常状态码。
对比可以看到内网环境下该接口是正常返回200状态码的。 分析是链路中哪一层返回的500异常状态码。
3、抓包分析
最简单的办法就是抓包分析。开启抓包公网多次访问。分析抓包结果。
像这种问题直接从链路最内层开始抓从内层到外层的顺序。
nacos层抓包 可以看到是后端nacos服务直接返回的即是500异常状态码。看到这个结果即外层就无需抓包了是由于nacos返回了500导致最终客户端拿到的状态码是500。
在外层也简单抓包看下。
haproxy层抓包 可以看到是nginx层返回给haproxy服务500状态码。
4、nacos日志分析
既然是nacos服务直接返回的500状态码那么肯定要从nacos报错日志中入手。最终在服务器系统日志中发现服务存在跨域的报错。借助tail -f 实时观察日志并且同时再次走公网访问验证日志同时再次打印对应日志。由此可见是由于后端这块儿跨域的配置有问题导致。 将日志报错反馈给开发修改代码配置解决。
更多技术信息请查看云掣官网https://yunche.pro/?tyrgw