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

小丫2年前技术文章2641

问题现象

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

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


相关文章

Kafka 手动调整分区副本存储

Kafka 手动调整分区副本存储

              在生产环境中,每台服务器的配置和性能不一致,但是Kafka只会根据自己的代码规则创建对应的分区副本,就会导致个别服务器存储压力较大。所有需要手动调整分区副本的存储。测试:创...

ES运维(二)字段类型与内存管理

ES运维(二)字段类型与内存管理

一、ES常见字段类型1、 概述字段是数据存储的最小微粒,根据数据的性质不同将数据分成不同的字段类型,熟悉不同字段类型的特性,对索引的Mapping设计、查询调优都极其重要。2、 关键参数In...

CDH 5.16.2原地升级到CDP7.1.7

CDH 5.16.2原地升级到CDP7.1.7

1 升级Cloudera管理器1.1 升级Cloudera管理器准备1.1.1.1 关闭cloudera上托管的组件1.1.1.2 关闭Cloudera management service服务检查o...

Doris部署介绍

标准部署该文档主要介绍了部署 Doris 所需软硬件环境、建议的部署方式、集群扩容缩容,以及集群搭建到运行过程中的常见问题。在阅读本文档前,请先根据编译文档编译 Doris。软硬件需求概述Doris...

kubernetes RBAC

kubernetes RBAC

认证过程,只是确认通信的双方都确认了对方是可信的,可以相互通信。而鉴权是确定请求方有哪些资源的权限。API Server 目前支持以下几种授权策略 (通过 API Server 的启动参数 “–aut...

pg_dump

逻辑备份    PG提供了pg_dump、pg_dumpall两种方式进行逻辑备份,其区别就是pg_dumpall只能将数据库全部数据集dump到一个脚本文件中,而pg_dump可以选择指定数据库进行...

发表评论    

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