有人遇到过这个问题么? 使用IP连接Nacos集群没问题,换成域名后,注册成功,但是后续无法发送心跳。
客户端大量报错 Caused by: com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
已经找到问题,源码没问题,是我们自己程序中手动创建了NacosConfigService导致的
此答案来自钉钉群“Nacos社区群"
可能是由于域名解析到的 IP 与客户端连接的 Nacos 集群不一致导致的。也有可能是心跳数据包中含有不合法的字符,导致 Jackson 反序列化失败 可以按照我的步骤看看: 检查域名解析到的 IP 是否与客户端连接的 Nacos 集群一致。
在客户端打印心跳数据包的内容,确认是否含有不合法字符。
检查 Jackson 库的版本,确保它与您正在使用的 Nacos 版本兼容。
检查服务端是否接收到客户端发送的心跳数据包。
Nacos两种健康检查模式 :1.agent上报模式 2.服务器检测模式 ,而临时实例就是采用agent上报模式!
所以问题应该出在客户端上面,跟ip以及nacos没有问题,于是开启debug模式,获取到心跳连接,如果post执行一下发现报错,说明nacos版本与alibaba依赖版本不一致,版本说明:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E