博客 Nacos服务公网环境登陆报密码错误问题排查

Nacos服务公网环境登陆报密码错误问题排查

   数栈君   发表于 2024-08-14 15:17  583  0

问题现象

nacos服务内网可以正常登录,如下:

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/2ce9e135aa93020b1ea0e008b5543d51..png

走公网代理出来之后,无法正常登录,报错"用户名密码错误"

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/a865601dd0a6460a9994e351d60b4cf0..png

排查步骤

链路分析

首先确认公网代理的链路:

域名—>haproxy—>nginx—>nacos

内网代理链路:

ip—>nginx—>nacos

查找报错接口

既然内网登录正常,证明该用户名密码正确。

首先查看现场,浏览器访问登录地址,打开f12,查看是否有报错接口

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/bba44dc31020b117d1a8b073f38c23a6..png

可以看到:https://xxx/nacos/v1/auth/users/login 这个接口返回500异常状态码。

对比,可以看到,内网环境下,该接口是正常返回200状态码的。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/7622fc07dbbd3f107f73802dbda4e993..png

分析是链路中哪一层返回的500异常状态码。

抓包分析

最简单的办法就是抓包分析。开启抓包,公网多次访问。分析抓包结果。

像这种问题,直接从链路最内层开始抓,从内层到外层的顺序。

nacos层抓包

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/80083022651f88aef45cd285643c7aeb..png

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/fcc5d810b160cb8e64764ff44c7d9c35..png

可以看到是后端nacos服务直接返回的即是500异常状态码。看到这个结果,即外层就无需抓包了,是由于nacos返回了500,导致最终客户端拿到的状态码是500。

在外层也简单抓包看下。

haproxy层抓包

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/b7eed4b91a18abb581e976d9e606694b..png

可以看到是nginx层返回给haproxy服务500状态码

nacos日志分析

既然是nacos服务直接返回的500状态码,那么肯定要从nacos报错日志中入手。最终在服务器系统日志中发现服务存在跨域的报错。借助tail -f 实时观察日志,并且同时再次走公网访问验证,日志同时再次打印对应日志。由此可见,是由于后端这块儿跨域的配置有问题导致。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/37a8ffa0cc75f4522bd9922f2621a037..png

将日志报错反馈给开发修改代码配置解决。


《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057/?src=bbs

《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001/?src=bbs

《数栈V6.0产品白皮书》下载地址:https://www.dtstack.com/resources/1004/?src=bbs

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack

0条评论
上一篇:Cloudera Manager
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群