首页 > 其他分享 >nacos配置&gateway配置服务发现一直报500

nacos配置&gateway配置服务发现一直报500

时间:2024-07-31 15:20:20浏览次数:8  
标签:group spring 配置 nacos yml application gateway 500

项目场景:

这两天不是一直在搞简化配置、使用公共配置、我的服务可以通过网关访问这几个任务嘛,也是不断地踩坑补知识才总算把这几个任务都搞好了,下面就是记录过程中遇到的问题。


使用公共配置

因为发现项目使用的配置文件过多,有application、application-test.yml、bootstrap.yml、远程nacos配置,我想不能搞得简单些就尽量把所有配置都放到线上,本地只是做区分么,然后自己恶补了下application和bootstrap区别

application和bootstrap区别和优先级

顺序:bootstrap.properties > bootstrap.yml > application.properties > application.yml
优先级:properties>yml
文件位置优先级:
src里的config文件夹>>根目录>>resource里的config文件夹>>resource下的
小结:
同样的yml,bootstrap比application优先级高,是由父上下文加载的,而application是由子加载
bootstrap一般配置的是引导配置,连接的是spring cloud配置中心,默认本地不能覆盖远程配置,远程配置一些加密的信息


使用公共配置common.yml

直接上配置代码,注意参数里面

chixxxxx:
  nacos:
    server-addr: 123.123.000.000:8848
spring:
  profiles:
    active: test
  application:
    name: chixxxxx-gateway
    group: chixxxxx_GROUP
  cloud:
    nacos:
      discovery:
        group: ${spring.application.group}
        namespace: ${spring.profiles.active}
        server-addr: ${chixxxxx.nacos.server-addr}
      config:
        group: ${spring.application.group}
        namespace: ${spring.profiles.active}
        server-addr: ${chixxxxx.nacos.server-addr}
        prefix: ${spring.application.name}
        shared-configs:
          - data-id: common.yml
            group: ${spring.application.group}
        extension-configs:
          - data-id: chixxxxx-gateway-test.yml
            group: ${spring.application.group}


配置网关服务

我之前上家公司是配过网关的,其实就是指定服务+断言路径就行了,但是这边还是有点区别,首先是nginx.conf那边,先做了个匹配路径转发到网关的一个操作,如下

location /api/backend/ {
                proxy_pass http://localhost:8001;
            }

提前转发到网关,然后网关配置

- id: platform后台接口
        uri: lb://chixxxx-platform
        order: 1000
        predicates:
          - Path=/api/backend/**
        filters:
          - StripPrefix=0
          - name: RequestRateLimiter
            args:
              key-resolver: '#{@hostAddrKeyResolver}'
              redis-rate-limiter:
                replenishRate: 20
                burstCapacity: 50

这里面尤其要注意的是StripPrefix这个参数,之前没有太注意,还弄出个404,看了些讲解才知道这个就是去掉我一开始请求的路径上的字符,如:StripPrefix=1,那么请求到服务就是backend/user/detail?id=1;StripPrefix=2,user/detail?id=1,这个数字代表去掉几个/分割的字符串。

请求服务转发失败

这个又是什么呢,我照样子请求url,但是返回报500,然后我查看了下日志

ERROR 1399157 [reactor-http-epoll-4] org.springframework.boot.autoconfigure.web.reactive.error.AbstractErrorWebExceptionHandler [bfc53f9d-5959]  500 Server Error for HTTP GET "/api/backend/appVersion/detail?id=12"

就是服务器错误,我再看目标服务器上的日志,没有新增日志,然后就因为报错信息有限,我前前后后花了靠一天时间最后通过“同义千问”找到灵感-好好对一下服务状态是否正常,打开:服务列表-服务详情,看到健康状态是ture啊,那为啥报500,再看ip地址,这个ip写的是:172.17.0.5这个好像docker或者内网地址啊,一开始怀疑内网,但是想想不会啊,我的服务器在外头的,然后再去目标服务器执行:docker inspect xxx,看到就是这个,哦~原来把docker分配的ip注册到nacos上了,我应该是要把服务器ip注册上去,通过千问需要设置

spring:
  cloud:
    nacos:
      discovery:
        ip: 123.123.123.123

然后重新发下,再去详情看下,ip变了,最后再通过postman请求下就可以通过网关地址访问到了


小结

最近这个礼拜做的这几个任务都是我自发去做的,因为看到了配置比较乱现在用户数比较少可以折腾,避免后期人多了再折腾损耗比较大,同时对gateway这块知识查漏补缺也有了相应的提高。

标签:group,spring,配置,nacos,yml,application,gateway,500
From: https://www.cnblogs.com/warrenwt/p/18334715

相关文章

  • 服务注册中心+配置中心-Nacos-微服务核心组件【分布式微服务笔记07】
    服务注册中心+配置中心-Nacos-微服务核心组件【分布式微服务笔记07】服务注册中心+配置中心-NacosNacos有两大功能:注册中心[替代Eureka]+配置中心[替代Config]架构理论基础:CAP理论(支持AP【高可用、分区容错性】和CP【分区容错性和数据一致性】,可以切换)Nacos结构......
  • macOS Sequoia 15.1 beta (24B5009l) Boot ISO 原版可引导镜像下载
    macOSSequoia15.1beta(24B5009l)BootISO原版可引导镜像下载iPhone镜像、Safari浏览器重大更新、备受瞩目的游戏和AppleIntelligence等众多全新功能令Mac使用体验再升级请访问原文链接:https://sysin.org/blog/macOS-Sequoia-boot-iso/,查看最新版。原创作品,转载请保......
  • macOS Sequoia 15.1 beta (24B5009l) ISO、IPSW、PKG 下载
    macOSSequoia15.1beta(24B5009l)ISO、IPSW、PKG下载iPhone镜像、Safari浏览器重大更新、备受瞩目的游戏和AppleIntelligence等众多全新功能令Mac使用体验再升级请访问原文链接:https://sysin.org/blog/macOS-Sequoia/,查看最新版。原创作品,转载请保留出处。作者主页......
  • 聊聊在springcloud gateway如何获取请求体
    前言在我们扩展scg时,获取requestbody也是一个挺常见的需求了,比如记录日志,我们要获取请求体里面的内容。在HTTP协议中,服务器接收到客户端的请求时,请求体(RequestBody)通常是以流的形式传输的。这个流在设计上是只读且不可重复读取的。即requestbody只能读取一次,但我们很多时候是更......
  • 经济法人 the 500 highest ranked books
    来源:https://www.economist.com/interactive/graphic-detail/2024/07/26/how-long-would-it-take-to-read-the-greatest-books-of-all-time [{"title":"OneHundredYearsofSolitude","author_creation_year":"Gabriel......
  • 【FMC155】基于VITA57.1标准的2路500MSPS/1GSPS/1.25GSPS 14位直流耦合AD采集FMC子卡
     板卡概述       FMC155是一款基于VITA57.1标准的,实现2路14-bit、500MSPS/1GSPS/1.25GSPS直流耦合ADC同步采集FMC子卡模块。该模块遵循VITA57.1规范,可直接与FPGA载卡配合使用,板卡ADC器件采用ADI的AD9680芯片,该芯片具有两个模拟输入通道和两个JESD204B输出数据通道对,可......
  • Nacos-微服务注册中⼼(Nacos简介 Nacos配置管理)
    目录一、 微服务的注册中⼼1.注册中⼼的主要作⽤ 2.常⻅的注册中⼼二、Nacos简介 nacos实战⼊⻔1.搭建nacos环境2.将订单微服务注册到nacos2.1 在pom.xml中添加nacos的依赖2.2在主类上添加@EnableDiscoveryClient注解2.3在application.yml中添加nacos服务......
  • OAuth2 + Gateway统一认证一步步实现(公司项目能直接使用),密码模式&授权码模式
    文章目录认证的具体实现环境的搭建基础版授权服务搭建引入依赖创建数据表yml配置配置SpringSecurity定义认证授权的配置类授权服务器存储客户端信息修改授权服务配置,支持密码模式基础版授权服务测试授权码模式测试密码模式测试**测试校验token接口**整合JWT使用jwt基......
  • 【第12章】Spring Cloud之集成 Spring Cloud Gateway
    文章目录前言一、新建项目1.项目结构2.引入依赖3.启动类4.基本配置二、新建配置三、新建服务1.提供者2.消费者四、单元测试1.启动网关服务2.提供者3.消费者总结前言SpringCloudGateway是一个基于SpringFramework5、SpringBoot2和ProjectReactor......
  • SK-500A高速数控机械手锯床
    SK-500A高速数控立式锯床(机器人配合)SK-500A高速数控立式锯床(机器人配合),锯床采用德国技术与机器人配合,机器人根据不同的工装可定制适合的夹具,夹具夹持工装,精准把工装运送到锯床合适的位置,实现工装不同需求的精准切割。●采用变频调速设计,高速运转同时设备运行平稳可靠......