Vue 配置正向代理的使用

news2024/11/19 6:26:01

浏览器对于用户的安全考虑,设置了同源策略。同源策略就是指协议、域名、端口都要相同的情况下,才能请求资源。

跨域

跨域指的是:在浏览器中,从一个域名去请求另一个域名的资源时,如果协议、域名、端口任意一个不同,都是跨域。

跨域是由浏览器的同源策略造成的,是浏览器施加的安全限制。

例如:a 网站想请求 b 网站的资源,如果 a、b 网站的协议、域名、端口有一个不同时,所进行的请求都是跨域的。

http://www.baidu.com:8080

协议指:    http
域名指:    www.baidu.com
端口指:    8080

 

正向代理的原理:

正向代理:常用于本地的开发环境。

正向代理:就是创建一个代理服务器,当客户端发送请求时,会先经过这个代理服务器,再由这个代理服务器去和目标服务器进行交互。也就是 代理客户端

 

用途:

  • 隐藏客户端的真实 IP 地址:可以通过正向代理隐藏自己的 IP 地址,避免受到攻击。

  • 突破访问限制:通过代理服务器,可以突破自身 IP 的访问限制,访问到国外的网站等。

  • 提高访问速度:代理服务器会将部分请求到的数据保存到缓冲区,当再访问相同的数据时,会直接在缓冲区获取数据,传给用户,以提高访问速度。

 

 Vue配置正向代理:

// 假设接口
API接口地址1:https://www.baidu.com/api/goods/list
API接口地址2:https://www.baidu.com/webapi/user/info

1.在项目的根目录下创建 vue.config.js 文件,并配置 devServer 代理。

const { defineConfig } = require('@vue/cli-service')

module.exports = defineConfig({
  //......其它配置
  
  // 配置正向代理
  devServer: {
    // 代理 api 模块(可代理多个模块)
    proxy: {
      '/api': {
        target: 'https://www.baidu.com/api',    // 目标服务器的地址
        ws: true,                               // 代理websockets
        changeOrigin: true,                     // 虚拟的站点需要更管origin
        pathRewrite: {                          // 重写路径
           '^/api': ''
        }
      }
    },
    // 代理 webapi 模块(可代理多个模块)
    proxy: {
      '/webapi': {
        target: 'https://www.baidu.com/webapi', // 目标服务器的地址
        ws: true,                               // 代理websockets
        changeOrigin: true,                     // 虚拟的站点需要更管origin
        pathRewrite: {                          // 重写路径
           '^/webapi': ''
        }
      }
    }
  }
})

注意:配置正向代理之后,一定要重启项目!重启项目!重启项目!

2. 在需要使用的页面中,将域名删掉,只保留模块名即可。

// 请求API接口1
axios({
    method: 'post',
    url: '/api/goods/list',
    data: qs.stringify({
        id: 1
    })
}).then((res) => {
    console.log(res.data);
})

// 请求API接口2
axios({
    method: 'post',
    url: '/webapi/user/info',
    data: qs.stringify({
        id: 1
    })
}).then((res) => {
    console.log(res.data);
})

原创作者:吴小糖

创作时间:2023.6.16

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/654107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解 SpringBoot 日志框架:从入门到高级应用——(六)Log4j2 输出日志到 QQ邮箱

文章目录 获取 QQ 邮箱授权码添加依赖编写 SMTPAppender运行结果 要实现将 log4j2 输出日志到 QQ 邮箱,需按照以下步骤进行: 在 QQ 邮箱中设置 SMTP 服务,开启 POP3/SMTP 服务,获取 SMTP 服务地址、端口号、登录邮箱账号和密码。 …

拿捏指针(二)---对指针的进阶认识(中级)

文章目录 字符指针指针数组数组指针数组指针的定义&数组名与数组名的区别数组指针的使用 数组参数、指针参数一维数组传参二维数组传参一级指针传参二级指针传参 字符指针 我们知道,在指针的类型中有一种指针类型叫字符指针char * 。 字符指针的一般使用方法为…

Pytest自动化测试的三种运行方式

目录 1、主函数模式 2、命令行模式 3、通过读取pytest ini配置文件运行 (最主要运用的方式) 总结: Pytest 运行方式共有三种: 1、主函数模式 运行所有 pytest.main() 指定模块 pytest.main([-vs],,./testcase/test_day1.py)…

组合逻辑电路设计---多路选择器

目录 1、多路选择器简介 2、硬件设计 3、实验任务 4、程序设计 4.1、模块设计 4.2、绘制波形图 4.3、编写代码 (1)assign 中条件运算符(三目运算符)实现方法: (2)always 语句块中使用 …

逍遥自在学C语言 | 指针的基础用法

前言 在C语言中,指针是一项重要的概念,它允许我们直接访问和操作内存地址。 可以说,指针是C语言一大优势。用得好,你写程序如同赵子龙百万军中取上将首级;用得不好,则各种问题层出不穷,有种双…

.gitignore 忽略文件和目录

1. .gitignore 简介2. .gitignore 注释3. / 开头或结尾的忽略4. glob 模式匹配忽略5. .gitignore 全局忽略6. 忽略已提交到远程仓库的内容7. 使用各种框架下的忽略规则 1. .gitignore 简介 .gitignore 文件的作用就是告诉 git 哪些文件不需要添加到版本管理中(定义…

Python如何制作图标点选验证码

本文讲解如何使用python中的opencv库来制作图标点选验证码 图标点选验证码制作起来非常简单,你只需要准备两部分数据集,数据集数量都不用很多,背景图我选择了20个左右,大小为(300, 500)左右,图标我抓取了100多个,图标大小为(40,40)左右,图标由不同大小的透明度构成…

html实现好看的个人介绍,个人主页模板1(附源码)

文章目录 1.设计来源1.1 主界面1.2 关于我界面1.3 自我介绍界面1.4 项目演示界面1.5 个人成就界面1.6 联系我界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/13125310…

01-Maven 安装

一. 下载 apache官网下载 Maven:Maven – Download Apache Maven ,根据需要下载不同压缩包。 二. 安装和配置 因为是压缩包不是可执行文件,直接将压缩包进行解压即可,最好放在无中文目录下解压。 1. 配置maven本地仓库 打开解压…

自然语言处理从入门到应用——静态词向量预训练模型:神经网络语言模型(Neural Network Language Model)

分类目录:《自然语言处理从入门到应用》总目录 《自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)》中介绍了语言模型的基本概念,以及经典的基于离散符号表示的N元语言模型(N-gram…

每日一道算法---数组中出现次数超过一半的数字

数组中出现次数超过一半的数字 1.题目2.思路3.代码 1.题目 链接: 数组中出现次数超过一半的数字 2.思路 【解题思路1】: 思路一:数组排序后,如果符合条件的数存在,则一定是数组中间那个数。这种方法虽然容易理解,但…

gcov的使用

什么是代码覆盖率? 代码覆盖率是对整个测试过程中被执行的代码的衡量,它能测量源代码中的哪些语句在测试中被执行,哪些语句尚未被执行。 代码覆盖率的指标种类 代码覆盖率工具通常使用一个或多个标准来确定你的代码在被自动化测试后是否得…

SQL注入第一章节

SQL注入第一章节 1.1 什么是SQL注入 SQL 注入(Injection) 概述 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情…

合并表格的指定列按序号排序

这里有一个Excel需求: 如下图所示,需要在序号那一列自动排序下去。 但是是合并的行,而且合并的行数还是不确定的,那怎么给他自动排序下去呢? 解决方法可供参考:使用筛选和COUNT函数完成。 1.第一步筛选 首…

Collection集合

Collection集合面试题 导学 这次课程主要涉及到的是List和Map相关的面试题,比较高频就是 ArrayList LinkedList HashMap ConcurrentHashMap ArrayList底层实现是数组LinkedList底层实现是双向链表HashMap的底层实现使用了众多数据结构,包含了数组、…

5.MySQL索引事务

文章目录 🐾1. 索引🐾💐1.1 概念💐🌸1.2 作用与缺点🌸🌷1.2.1作用🌷🍀1.2.2缺点🍀 🌹1.3 使用场景🌹🌻1.4 使用&#x1f3…

阿里云服务器官网

阿里云服务器官网:https://www.aliyun.com/product/ecs 阿里云服务器分为云服务器ECS、轻量应用服务器、GPU云服务器等,云服务器ECS是阿里云明星级产品,专业级云服务器,如下图: 阿里云服务器ECS 阿里云服务器网分享阿…

【论文阅读】Learing to summarize from human feedback

前言 更多关于大模型的文章可见:ShiyuNee/Awesome-Large-Language-Models: Papers about large language models (github.com) 该仓库持续更新 Abs 通过训练模型来向着人类偏好优化可以显著提高摘要质量。 Method High-level methodology 从一个在摘要数据集上…

剑指offer(C++)-JZ3:数组中重复的数字(算法-排序)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几…

攻防世界-web-Web_python_template_injection

题目描述:只有一句话,翻译出来时python模板注入 1. 思路分析 1.1 什么是python模板注入? 做这道题之前我也不知道什么是python模板注入,问了下chatgpt,回答是这样的: 回答很简洁,举个例子&…