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配置修改重新走網關即可。