1、nacos默认值修改
nacos.core.auth.plugin.nacos.token.secret.key=****
nacos.core.auth.server.identity.key=********
nacos.core.auth.server.identity.value=************
重启nacos, 这时候微服务的token认证会立即失效,等待自动重连认证或者手动重启服务
2、重新修改生成环境nacos用户名和密码
客户端修改
spring:
cloud:
nacos:
discovery:
username: ****
password: ****
config:
username: ****
password: ****
重启服务,检查nacos控制台服务是否注册正常
3、修改spring cloud gateway的nacos配置
修改配置后重启,验证路由是否正确,打开actuator端点:
management:
endpoints:
web:
exposure:
include: 'gateway,health' # 暴露 gateway 和 health 端点
endpoint:
gateway:
enabled: true # 显式启用网关端点
health:
show-details: always # 显示健康检查详情
spring:
cloud:
gateway:
routes:
- id: ****
uri: lb://**** # 或直接写 http://后端服务IP:端口
predicates:
- Path=/路径/**
filters:
- StripPrefix=1 # 根据需要调整
路由检查:
curl http://ip:端口/actuator/gateway/routes
如果返回[],则没找到路由信息,检查配置或者服务是否正确注册到nacos上了,我这次出现访问服务的时候,一直报404错误,发现配置有变动,少了一个gateway导致
4、单点部署nacos、gateway要注意的问题
重启nacos或者gateway服务会中断,所以首先要在业务低峰期执行,最好是晚上12点之后。
如果想要稳定迁移,可以通过配置nginx来实现,首先是nginx能够直接访问后端服务,先绕过nacos和gateway, nginx配置示例如下:
upstream upcms {
server ip1:端口1;
server ip2:端口2;
}
location /cms {
#proxy_pass http://网关ip:网关端口/api/cms;
proxy_pass http://upcms/cms;
}
在网关、nacos服务重启后,nginx配置修改重新走网关即可。