系统监控跨域问题修复2.4
最后更新于:2022-04-02 07:11:13
# 前端多环境构建配置2.4+
切换成微服务后,部分功能访问不了, 提示跨域问题,如系统监控下的菜单,有三种情况:
情况一、代码在自己模块里 如Redis监控,访问该页面走的是网关转发,所以需要在网关对应的配置文件中添加路由转发配置:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/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,当然如果 我们监控的是其他模块 完全可以用其他模块的端口进行访问
';