在开发微服务项目中,如果多人调试一个服务时,网关会把请求负载到不同的机器,可能是你的机器,也可能是同事的机器,这样非常不便于调试。
解决的办法:
1.每个人都单独的安装一套,自己走自己的网关,指向自己的服务,这样就不会影响了,但是这样比较【麻烦】。
2.使用统一网关,每个人只启动自己需要调试的服务,自己的请求能被发到自己的服务上,【简单】。
第二种办法的思路,修改本地请求地址,增加额外的标识,在网关对额外的标识做解析,指向本地ip。
在vue.config.js中修改proxy:增加一个匹配项
proxy: { // 新增加, pms为服务地址,增加后缀 [process.env.VUE_APP_BASE_API + '/pms']: { target: 'http://192.168.98.58:8080', changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API + '/pms']: '/pms-v' } }, // 默认 [process.env.VUE_APP_BASE_API]: { target: `http://192.168.98.58:8080`, changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: '' } } }
修改nacos上的网关配置文件,增加一个路由
# 默认路由
- id: pms
uri: lb://pms
predicates:
- Path=/pms/**
filters:
- StripPrefix=1
# 新增加路由,解析带特殊后缀的路由,直接指向指定ip
- id: pms-v
uri: http://192.168.98.68:9706
predicates:
- Path=/pms-v/**
filters:
- StripPrefix=1