Closed blueiky closed 3 years ago
supplementary description:
bootstrap.yml config: server-addr: ${spring.cloud.nacos.config.server-addr} username: ${spring.cloud.nacos.config.username} password: ${spring.cloud.nacos.config.password} file-extension: yaml prefix: ${spring.application.name} profiles: dev
application.yml discovery: server-addr: ${spring.cloud.nacos.config.server-addr} username: ${spring.cloud.nacos.config.username} password: ${spring.cloud.nacos.config.password}
same configuration, I can not reproduce the problem at home
configuration of the computer used at home os:macOS Big Sur 11.2.3 nacos server: 2.0.0-bugfix nacos client: 1.4.1
only difference home used localhost company used Virtual Machine Virtual Machine OS Centos7.3
Let me try.
Did it occur randomly ?
I do not know,but I have tried the same computer, the same set of configuration, one has this problem, the other project does not appear
SECURITY_LOGGER.error("login failed: {}", JacksonUtils.toJson(restResult));
;
- 使用一个错误的账号、密码,登陆返回403;
- 登陆失败打印异常日志,
SECURITY_LOGGER.error("login failed: {}", JacksonUtils.toJson(restResult));
;- httphead 里有不合法数据,导致json序列化错误;
- 我使用develop分支和2.0分支打一个client包,没有复现这个问题;
我记得那个null key的问题已经解决掉了, 在之前的那个PR里
head
里面处理的,这里的null key出现在originalResponseHeader
,我看 #4870,已经处理了这个问题。这个问题我在重新创建一个项目的时候就会消失,又遇到过一次,重新创建项目就没有了,配置信息都是基本一致的
用户名与密码均正确
这是项目首次运行的时候
这是项目后续 nacos 自动请求的情况
这个demo项目晚上我会使用另外一台电脑来测试一下
这个问题我在重新创建一个项目的时候就会消失,又遇到过一次,重新创建项目就没有了,配置信息都是基本一致的
用户名与密码均正确
- 这是项目首次运行的时候
- 这是项目后续 nacos 自动请求的情况
这个demo项目晚上我会使用另外一台电脑来测试一下
这里看到header 是为LinkedHashMap, 目前最新的代码应该为TreeMap, 如@haoyann 说的,已在 #4870 处理 originalResponseHeader key is null 的问题,你可以拉取develop分支最新代码自行打包尝试一下
搞定了,这个问题是因为SpringCloud Alibaba依赖自带的 Nacos Client客户端版本低导致的,需要将SpringCloudAlibaba自带的client忽略,然后自行导入client 2.0.0,就不会出现序列化错误
会存在一个unknown user的问题,也就是会进入
这个问题不会影响正常使用,进行通过配置日志等级即可进行忽略。
@xiaomo-23 这个unknown user的问题什么情况,谁能解释一下
use environment: nacos server: 2.0.0 nacos client: 1.4.1 spring cloud 2020.0.2 spring cloud alibaba 2020.0.RC1
This problem occurs when using nacos config
error log: [SecurityProxy] login http request failed url: http://192.168.80.140:8848/nacos/v1/auth/users/login, params: {username=naocs}, bodyMap: {password=nacos}, errorMsg: errCode: 100, errMsg: Nacos serialize for class [com.alibaba.nacos.common.http.HttpRestResult] failed.