Nacos使用域名做为服务地址遇到的问题及解决方案

本文详细介绍了使用Nacos作为服务发现组件时遇到的问题及其解决方案,特别是当使用域名代替IP地址时出现的连接问题。文章深入探讨了Nginx配置错误导致的TCP连接失败案例,并给出了正确的TCP端口转发配置。

一、发现问题

应用启动时,增加Nacos服务端的配置信息。

应用使用IP加端口连接Nacos服务器时,运行一切正常:

#启动参数增加以下Nacos参数
-Dspring.cloud.nacos.discovery.namespace=DEV 
-Dspring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

但是将server-addr换成解析好的域名就有问题:

#Nacos默认的服务端端口为8848,因而Nacos服务端的端口必须配置,
#否则建立TCP连接的时候会使用9848及9849这两个端口
#可以通过下面指定port的参数配置,也可以在server-addr的域名中增加上端口进行指定。

#启动参数增加以下Nacos参数
-Dspring.cloud.nacos.discovery.namespace=DEV 
-Dspring.cloud.nacos.discovery.server-addr=nacos-dev.xxx.com
-Dnacos.server.port=80 

#或者

#启动参数增加以下Nacos参数
-Dspring.cloud.nacos.discovery.namespace=DEV 
-Dspring.cloud.nacos.discovery.server-addr=nacos-dev.xxx.com:80 

Nacos TCP端口的处理代码:

(代码中应该可以增加一个没有端口配置时,默认为80端口的逻辑,后续我来提个PR)。 

确认Nginx中域名解析配置是正确的,因为可以通过域名正常访问控制台,但是应用启动的时候报“C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值