Vue 跨域的两种解决方式

news/2024/10/29 0:22:50/

一、通过 proxy 解决跨域

1.1 baseURL 配置

axios 二次封装时,baseURL 设置为 '/api'

const serviceAxios = axios.create({baseURL: '/api',timeout: 10000, // 请求超时设置withCredentials: false, // 跨域请求是否需要携带 cookie
});

1.2 vue.config.js 配置 proxy 代理

vue.config.jstarget 填入后端真实运行的接口地址。

pathRewrite 的作用是将 /api 接口前缀重写,我这边是置为空,因为后端的控制层并没有去匹配 /api

// vue.config.jsmodule.exports = defineConfig({devServer: {// 配置跨域proxy: {'/api': {target: 'http://yunhu.com:8090/',ws: false,changOrigin: true,  // 允许跨域pathRewrite: {'^/api': ''}}}}
})

二、通过 nginx 反向代理实现跨域

2.1 baseURL 配置

对每一个请求的前缀都加上 /api,然后再在 nginx 中配置转发策略。

const serviceAxios = axios.create({baseURL: "http://yunhu.com:9049/api/",timeout: 10000, // 请求超时设置withCredentials: false, // 跨域请求是否需要携带 cookie
});

2.2 nginx 配置

nginx 监听 9049 端口,然后将接口前缀是 /api 的转发到 8090 端口,就是运行 Spring Boot 后端程序的那个端口。

由于我们的后端控制层并没有 /api,所以这边也需要 rewrite/api 重写为空。

这边 proxy_pass,也可以是 http://yunhu.com:8090/,但是我用了内网地址,不用再通过 DNS 解析了,可以提高一点点性能。

# nginx.confserver {listen 9049;location / {root /root/library/library-web-vue/dist;index index.html index.htm;}location ^~/api/ {rewrite ^/api/(.*)$ /$1 break;proxy_pass http://10.0.12.16:8090/;}
}

http://www.ppmy.cn/news/1201499.html

相关文章

语音识别接口试用

语音识别结果对比 1.jonatasgrosman/wav2vec2-large-xlsr-53-chinese-zh-cn 啊五包你没有什么问题嗓局问的这老受刚来指伯间我想就了解其二联地完觉全没问题犹该奖姐家女标要等到老师主动据奖定练择因位我主要奖的是耶号联接最长加展们如果说宁士比到六点级到一到另年级的家长…

本地部署 CogVLM

本地部署 CogVLM CogVLM 是什么CogVLM Github 地址部署 CogVLM启动 CogVLM CogVLM 是什么 CogVLM 是一个强大的开源视觉语言模型(VLM)。CogVLM-17B 拥有 100 亿视觉参数和 70 亿语言参数。 CogVLM-17B 在 10 个经典跨模态基准测试上取得了 SOTA 性能&am…

互联网摸鱼日报(2023-11-06)

互联网摸鱼日报(2023-11-06) 36氪新闻 本周双碳大事:阳光电源获全球储能系统出货第一名;隆基绿能等公司发布三季报;前三季度全国可再生能源新增装机同比增93% 北交所周报:首只北证50指数增强基金正式运作;下周泰鹏智…

R语言piecewiseSEM结构方程模型在生态环境领域实践技术应用

结构方程模型(Sructural Equation Modeling,SEM)可分析系统内变量间的相互关系,并通过图形化方式清晰展示系统中多变量因果关系网,具有强大的数据分析功能和广泛的适用性,是近年来生态、进化、环境、地学、…

打印由*组成的菱形

如图所示,这是我们要用代码所实现的图形。 那么我们该如何实现这个呢,对于这种题,我们只有静下心来找其中的规律了。 我们先来看看它的上面部分: 它是由空格和星号组成的,那么我们是不是可以先打印空格然后再打印星号…

java-对Integer.MAX_VALUE做加法

public static void main(String[] args) {int maxValue Integer.MAX_VALUE;System.out.println("maxValue1 " (maxValue1));System.out.println("maxValue2 " (maxValue2));System.out.println("maxValue3 " (maxValue3));}//结果 maxVa…

Maven3.9.1安装及环境变量配置

一、Maven的下载与安装 maven各版本下载地址 打开链接后自行选择对应版本 下载完成后解压安装,最好别选择c盘,安装目录路径等使用英文,避免产生其他问题 我这里选择的是D盘 二、Maven的环境变量配置 2.1、右键点击此电脑选择属性,点击高级系统设置,点…

Leetcode刷题【hot100】字母异位词分组

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", …