关于Nacos集群集成SpringBoot出现的after all servers nacos响应400的问题

本文介绍了在Nacos集群环境下,SpringBoot应用启动时遇到'after all servers nacos响应400'的问题。问题源于本地存在多个网络接口,Nacos注册时使用了错误的IP地址。解决方案是确保使用正确的内网IP进行注册。
摘要由CSDN通过智能技术生成

公众号推广:

目前CSDN进行VIP可见,文章可在微信公众号进行免费的阅读。

文章内容经过认证实践,比较的清晰易懂,适合初次接触的人员。

请关注微信公众号:菜鸟编程踩坑之路,进入公众号搜索关键词 Nacos

问题描述:

Nacos集群集成SpringBoot出现的after all servers nacos响应400的问题

场景再现:

Nacos为cluster集群启动模式,其中至少有两台机器是正常响应的。通过Nginx进行了反向代理。

Nacos状态为两台机器正常还有一台机器未启动:

首先要确保Spring Cloud 和 Spring Boot 的版本不能和Nacos的版本产生冲突,我的Spring Boot版本为 2.3.7.RELEASE ,Spring Cloud Alibaba版本是 2.2.2.RELEASE,Nacos版本是2.1.2 。项目的依赖主要就是两个一个web还有一个nacos注册。

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
   <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

启动配置文件则是Nginx负载均衡的地址,Nginx的配置文件如下:

#user  nobody;
worker_processes  1;

error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

     upstream nacos {
        server worker03:8848 weight=1;
        server worker04:8848 weight=1;
        server worker05:8848 weight=1;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.

好的,我可以为您提供一些关于 Spring Boot 集成 Nacos 集群的步骤: 1. 下载 Nacos 集群 您可以从 Nacos 的官方网站下载最新版的 Nacos 集群,然后解压缩到您的本地目录。 2. 配置 Nacos 集群Nacos 的解压缩目录中,进入 conf 目录下,编辑配置文件 cluster.conf,设置 Nacos 集群的 IP 地址和端口号,例如: ``` 192.168.0.1:8848 192.168.0.2:8848 192.168.0.3:8848 ``` 3. 启动 Nacos 集群Nacos 的解压缩目录中,打开命令行窗口,执行以下命令启动 Nacos 集群: ``` sh startup.sh -m standalone ``` 4. 集成 NacosSpring BootSpring Boot 项目的 pom.xml 文件中,添加以下依赖: ``` <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.2.0.RELEASE</version> </dependency> ``` 在 Spring Boot 项目的 application.properties 文件中,添加以下配置: ``` spring.cloud.nacos.config.server-addr=192.168.0.1:8848,192.168.0.2:8848,192.168.0.3:8848 spring.cloud.nacos.config.namespace=your_namespace ``` 其中,server-addr 是 Nacos 集群的地址和端口号,namespace 是您在 Nacos 中创建的命名空间。 5. 在 Spring Boot 中使用 NacosSpring Boot 项目中,您可以使用 @Value 注解来获取 Nacos 中的配置信息,例如: ``` @Value("${user.name}") private String userName; ``` 在 Nacos 中添加配置信息时,key 的格式为 ${prefix.key},例如: ``` prefix.key=value ``` 其中,prefix 是您在 Nacos 中创建的配置前缀,key 是您要配置的属性名,value 是属性值。 希望这些步骤能够帮助您成功集成 Spring BootNacos 集群。如果您有任何问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值