环境描述
79.34 gateway服务
79.35 nacos服务
故障描述
启动ruoyi-gateway后报错
Caused by: com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: 拒绝连接: /127.0.0.1:9848
Caused by: java.net.ConnectException: 拒绝连接
#启动脚本:
nohup java -javaagent:./skywalking-agent/skywalking-agent.jar \
-Dskywalking.agent.service_name=ruoyi-gateway \
-Dskywalking.collector.backend_service=192.168.79.35:11800 \
-Dspring.profiles.active=dev \
-Dspring.cloud.nacos.config.file-extension=yml \
-Dspring.cloud.nacos.discovery.server-addr=192.168.79.35:8848 \
-Dspring.cloud.config.server-addr=192.168.79.35:8848 \
-jar RuoYi-Cloud/ruoyi-gateway/target/ruoyi-gateway.jar &>/var/log/gateway.log &
处理方法
去到target里面vim ruoyi-gateway.jar修改里面的bootstrap.yml
将连接nocas的地址改成192.168.79.35
其他 (在微服务迁移到k8s也存在相同的问。 改nacos的 gateway.yml 也没生效。 还是要改jar包里面的 bootstrap.yml)
疑问/小结
其他三个都正常(若依的auth 、monitor、system),
这里已经 -Dspring.cloud.nacos.discovery.server-addr=192.168.79.35:8848 \
指定的.nacos.discovery.server-addr=xxxx 优先级不是高于ruoyi-gateway.jar包里面的bootstrap.yml 么?
跟认知的java配置优先级有点不同啊。。。
以前写的: https://blog.csdn.net/Nightwish5/article/details/122075414 《 运维java项目的技巧 (war包、jar包、docker环境)》
#nacos的配置(ruoyi-gateway-dev.yml)为:
spring:
redis:
host: 192.168.79.35
port: 6379
password:
cloud:
sentinel:
eager: true
transport:
dashboard: 192.168.79.35:8718
gateway:
discovery:
locator:
lowerCaseServiceId: true
enabled: true
routes:
# 认证中心
- id: ruoyi-auth
uri: lb://ruoyi-auth
predicates:
- Path=/auth/**
filters:
# 验证码处理
- CacheRequestFilter
- ValidateCodeFilter
- StripPrefix=1
# 代码生成
- id: ruoyi-gen
uri: lb://ruoyi-gen
predicates:
- Path=/code/**
filters:
- StripPrefix=1
# 定时任务
- id: ruoyi-job
uri: lb://ruoyi-job
predicates:
- Path=/schedule/**
filters:
- StripPrefix=1
# 系统模块
- id: ruoyi-system
uri: lb://ruoyi-system
predicates:
- Path=/system/**
filters:
- StripPrefix=1
# 文件服务
- id: ruoyi-file
uri: lb://ruoyi-file
predicates:
- Path=/file/**
filters:
- StripPrefix=1
# 安全配置
security:
# 验证码
captcha:
enabled: true
type: math
# 防止XSS攻击
xss:
enabled: true
excludeUrls:
- /system/notice
# 不校验白名单
ignore:
whites:
- /auth/logout
- /auth/login
- /auth/register
- /*/v2/api-docs
- /csrf