[alibaba/nacos]nacos服务注册的ip无法访问

2024-03-21 199 views
8

本地起了网关服务和认证服务,连接到远程服务器1的nacos节点,同时启动远程服务器2上的认证服务,连接相同的nacos节点;此时认证服务有2个实例,本地的可以访问,服务器上的无法访问 image

192开头的服务为本地服务,这个可以正常访问;10开头的服务为远程服务器上的服务,无法ping通,请问需要怎么配置才能正常请求?

回答

0

版本补充:nacos v2.1.2 ;jdk17

6

这种问题原因很多,不一定是nacos的问题,有可能本地调用远程认证服务的时候,由于部署有认证服务节点的远程服务器开启了只能内网访问,或者端口未开放,也会造成访问不了的问题出现。建议先从外围找下原因,最后再找nacos的问题。

1

较为可能的原因是服务器2只能内网访问

3

原因在于注册到nacos上的ip为内网ip,因此访问不到,所以我期望服务能够注册公网ip,所以想知道nacos有什么配置可以操作吗

0

注册服务的ip是你自己设置的, nacos只是接收方, 如果是框架自动注册的, 请到框架社区询问如何设置应用为指定ip

0

我使用的框架为SpingCloudAlibaba+nacos,你的意思是需要手动指定部署服务的外网地址吗?那如果多节点部署岂不是需要多次修改打包了?

1

如果按你自己的描述,指定一下你的服务注册到nacos上的ip: image

8

按你的说法,确实可行,但是如果我要部署多节点实例,岂不是需要多次打包吗?有没有更好的方案呢

3

建议在自己项目中起一个comm,在服务启动的时候获取ip和服务名,在请求网关的的时候多加一层处理按ip和名进行分发。

3

我不太懂你说的 在请求网关的的时候多加一层处理按ip和名进行分发 ,我期望的是nacos上注册的ip为公网可访问的,这样网关转发子服务的时候就能够正常访问而不会出现网络隔离。

4

即便是多节点部署也没问题啊,这些配置可以作为环境变量啊,你多节点部署时,可以使用 -D参数,作为环境变量进行动态配置的。