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

小丫2年前技术文章2467

问题现象

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

image.png


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

image.png

排查步骤

链路分析

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

域名—>haproxy—>nginx—>nacos

内网代理链路:

ip—>nginx—>nacos

查找报错接口

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

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

image.png

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

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

image.png

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

抓包分析

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

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

nacos层抓包


image.png


image.png

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

在外层也简单抓包看下。

haproxy层抓包

image.png

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

nacos日志分析

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

image.png

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


相关文章

使用Velero备份与恢复K8s集群及应用

使用Velero备份与恢复K8s集群及应用

环境3台虚拟机组成一主两从的测试集群,使用NFS作为动态存储主机IP系统k8s-master192.168.1.10centos7.9k8s-node1192.168.1.11centos7.9k8s...

PostgreSQL 索引管理

前言索引是关系型数据库离不开的话题,它是数据库中一种快速查询数据的方法。在 SQL 优化中,创建高性能的索引非常重要,本篇文章将对比 MySQL 介绍 PostgreSQL 的索引管理。1. 主键1....

Kafka副本策略

Kafka副本策略

Kafka的高可靠性的保障来源于其健壮的副本(replication)策略。1. 数据同步kafka在0.8版本前没有提供Partition的Replication机制,一旦Broker宕机,其上的所...

gin框架连接mysql数据库连接池泄露

gin框架连接mysql数据库连接池泄露

1、故障爆发12月1号上午10点出头,我们收到阿里云监控告警:客户官网探测异常,如图所示:然后我们DBA查看了后端数据库实例,发现数据库连接已经被用尽了,导致服务出现异常,如图所示:当时我们和客户协商...

alluxio短路读

alluxio短路读

原理当Client和Worker在同一节点时,客户端对本地缓存数据的读写请求可以绕过RPC接口,使本地文件系统可以直接访问Worker所管理的数据,这种情况被称为短路写,速度比较快,如果该节点没有Wo...

大数据基础之HBase入门介绍

大数据基础之HBase入门介绍

一、HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HB...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。