【难受】SpirngBoot-Alibaba-nacos跨服务器访问接口的问题

原想法:我首先准备了 一个网关 2个服务 分别将两个服务部署到不同的远程服务器当中 实现跨服务器访问接口

网关为本地调用--这里就不一一介绍了

问题

利用gateway做路由时出现服务不可用的情况,看日志发现服务调用的IP是172开头的网卡段,但是由于是不同的服务器,

这个地址是访问不了的,因此需要修改配置调整网卡的选择或者指定IP

【难受】SpirngBoot-Alibaba-nacos跨服务器访问接口的问题_第1张图片

相信到这里就应该知道直接使用内网 是访问不了服务器接口的 这里我们查看nacos服务里面的ip就是内网

【难受】SpirngBoot-Alibaba-nacos跨服务器访问接口的问题_第2张图片

错误 为调用超时 500

【难受】SpirngBoot-Alibaba-nacos跨服务器访问接口的问题_第3张图片

解决方案

在被调用的服务当中的yml配置 nacos注册ip公网地址

【难受】SpirngBoot-Alibaba-nacos跨服务器访问接口的问题_第4张图片

然后重新启动服务 进行通过网关跨服务器调用接口服务 成功!!!

【难受】SpirngBoot-Alibaba-nacos跨服务器访问接口的问题_第5张图片

到此问题结束完毕

其他配置

spring.cloud.nacos.discovery.server-addr  #Nacos Server 启动监听的ip地址和端口
spring.cloud.nacos.discovery.service  #给当前的服务命名
spring.cloud.nacos.discovery.weight  #取值范围 1 到 100,数值越大,权重越大
spring.cloud.nacos.discovery.network-interface #当IP未配置时,注册的IP为此网卡所对应的IP地址,如果此项也未配置,则默认取第一块网卡的地址
spring.cloud.nacos.discovery.ip  # 优先级最高
spring.cloud.nacos.discovery.port  # 默认情况下不用配置,会自动探测
spring.cloud.nacos.discovery.namespace # 常用场景之一是不同环境的注册的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

spring.cloud.nacos.discovery.access-key  # 当要上阿里云时,阿里云上面的一个云账号名
spring.cloud.nacos.discovery.secret-key # 当要上阿里云时,阿里云上面的一个云账号密码
spring.cloud.nacos.discovery.metadata    #使用Map格式配置,用户可以根据自己的需要自定义一些和服务相关的元数据信息
spring.cloud.nacos.discovery.log-name   # 日志文件名
spring.cloud.nacos.discovery.enpoint   # 地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址
ribbon.nacos.enabled  # 是否集成Ribbon 默认为true

你可能感兴趣的:(【难受】SpirngBoot-Alibaba-nacos跨服务器访问接口的问题)