切换成微服务后,部分功能访问不了, 提示跨域问题,如系统监控下的菜单,有三种情况: 情况一、代码在自己模块里 如Redis监控,访问该页面走的是网关转发,所以需要在网关对应的配置文件中添加路由转发配置: ![](https://img.kancloud.cn/b8/5e/b85ef3ff7c4118b93b484d6b12a21a0e_974x88.png) 情况二、执行的是actuator的请求,如 JVM信息 ,此类问题的统一特征是:如果直接用浏览器访问其地址是有数据的,但是放到前端项目里发起请求就提示跨域,需要修改: - 1.src/utils/request.js baseURL设置成/ ~~~ // 创建 axios 实例 const service = axios.create({ baseURL: '/', // api base_url timeout: 9000 // 请求超时时间 }) ~~~ - 2.vue.config.js 配置转发时changeOrigin一定要设置成true ~~~ devServer: { port: 3000, proxy: { '/': { target: 'http://localhost:9999', //转发后台 ws: true, changeOrigin: true,//是否允许跨越 } } }, ~~~ 情况三、此类情况和二类似,也是执行的actuator的请求,区别在于 如果actuator监控的是gateway,那么当需要查询tomcat信息的时候就获取不到了,因为gateway的启动容器不是tomcat,所以对应的菜单Tomcat信息 就报错404,当然如果 我们监控的是其他模块 完全可以用其他模块的端口进行访问