反向代理proxy

article/2025/8/22 5:50:02

跨域:跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,基于同源策略的保护,请求不到数据

同源策略:同协议,同端口,同域名

如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击

跨域解决方案:jsonp , cors (后台) ,反向代理

vue反向代理

如果你是用webpack+cli创建的项目:(如果是cli请往下看)
在config/index.js文件中:

module.exports = {dev: {// PathsassetsSubDirectory: 'static',assetsPublicPath: '/',proxyTable: {"/api": {"target":"http://122.51.36.194:5080",//你要代理的api"changeOrigin":true,"pathRewrite": {"^/api":""//api相当于一个别名}}},//后边的大括号不要忘记

访问时就通过/api

instance.post('/api/......',data).then(res=>{console.log(res)
})

react反向代理

1.配置单个反向代理
在package.json 中添加proxy选项
在这里插入图片描述
组件中调用时去掉域名即可
在这里插入图片描述在webpack版本2.0以下,可以是对象(可以设置多个)

在webpack版本2.0以上,只能是字符,只能有一个反向代理

2.配置多个反向代理

安装cnpm i http-proxy-middleware -D

在src文件中新建setupProxy.js文件:

const proxy = require('http-proxy-middleware')module.exports=function(app){app.use(proxy('/ele',{target:'https://h5.ele.me',changeOrigin:true,pathRewrite:{"^/ele":''}})
)
}

请求数据:

import React, { Component } from 'react'
import axios from 'axios'
class Com extends Component {constructor (props) {super(props)this.state = {foods:[]}}componentDidMount(){axios.get('ele/restapi/shopping/v2/entries?latitude=31.378851&longitude=121.491522&templates[]=main_template&templates[]=favourable_template&templates[]=svip_template&terminal=h5').then(res=>{console.log(res.data[0].entries)this.setState({foods:res.data[0].entries})})}render () {return (<div className="box"><header className="header">cart header</header><div className="content"><ul>{this.state.foods.map((item,index)=>(<li key={index}> { item.name }----------{item.activity_id} </li>))}</ul></div></div>)}
}export default Com

vue反向代理

如果你的项目只是用cli创建的:
在根目录下新建vue.config.js文件:

module.exports = {devServer: {proxy: {'/api': {target: 'https://www.daxunxun.com', // 后端接口地址changeOrigin: true, // 是否允许跨越pathRewrite: {'^/api': '' // 重写}},'/ele': {target: 'https://h5.ele.me/', // 后端接口地址changeOrigin: true, // 是否允许跨越pathRewrite: {'^/ele': '' // 重写}}}}
}

请求数据:

 mounted () {axios.get('/api/douban').then(res => {console.log(res.data)})}

JSONP

jsonp原理: 利用html标签自带的跨域特点,配合自身引入外部资源的一些属性,在url上拼接回调函数的形式,实现跨域数据的引入

封装jsonp

    function jsonp(url,success,data){// 1.解析数据,拼接urldata = data || {};var str = "";for(var i in data){str += `${i}=${data[i]}&`;}var d = new Date();url = url + "?" + str + "__qft=" + d.getTime();// 2.创建script标签var script = document.createElement("script");script.src = url;document.body.appendChild(script);// 3.定义后台要执行的函数window[data[data.columnName]] = function(res){success(res)}}

调用:

    document.onclick = function(){var url = "http://localhost/1906/jsonp/data/jsonp4.php";jsonp(url,function(res){res = JSON.parse(res);console.log(res)},{// 后台使用什么样的字段名,接收这个函数名columnName:"cb",// 此键值对,传输的是后台要执行的函数的名字cb:"jasgdjsagd12345678",user:"admin",pass:123});}

http://chatgpt.dhexx.cn/article/MqYNI8Gj.shtml

相关文章

Nginx反向代理服务器(请求转发)

1.Nginx反向代理服务器作用&#xff1a;请求转发&#xff0c;负载均衡&#xff0c;动静分离 2.什么是请求转发 在大型的项目中&#xff0c;因为服务器在后端较多&#xff0c;访问端口不同&#xff0c;此时就会造成请求每个服务器路径的端口号不一致&#xff0c;这样不方便跳转…

Nginx----web服务器,反向代理服务器

一. Nginx介绍 1.1 什么是Nginx&#xff1f; Nginx是一款轻量级的Web 服务器、反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;中国大陆使用nginx网站用户有&#xff1a;百度、京东、新浪、网易、腾讯、淘宝等。 1.2 Nginx的特点 反向代…

代理服务器和反向代理服务器详解

通常我们所说的代理&#xff0c;都是指的客户端向外界发起请求时&#xff0c;并不是直接与目标服务器连接&#xff0c;而是经过一个代理服务器&#xff0c;将所有请求交给代理服务器&#xff0c;由它去负责连接外界的目标服务器&#xff0c;同时从服务器返回的数据&#xff0c;…

Nginx搭建反向代理服务器

前面学了web资源服务器的搭建&#xff0c;这篇博文就总结一下如何搭建反向代理服务器。 为什么需要反向代理 反向代理是实现负载均衡的一种方法。假设&#xff0c;很多人同时对订单进行支付&#xff0c;此时&#xff0c;用于支付服务的上游服务器挂掉了&#xff0c;用户就没有…

nginx服务器有什么作用以及什么是反向代理?

最近再用在配置Nginx&#xff0c;学习记录下。 一.背景介绍 1.什么是Nginx&#xff1f; Nginx是一个高性能的HTTP和反向代理服务器&#xff0c;也是一个IMAP/POP3/SMTP代理服务器。 Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器&#xff0c;并在一个BSD…

反向代理服务器nginx-proxy-manager

一直以来&#xff0c;老苏都是使用群晖内置的反向代理&#xff0c;虽然很方便易用&#xff0c;但在某些情况下显得并不灵活。比如老苏打算安装 Authelia&#xff0c;需要修改 nginx 转发规则&#xff0c;必须通过 SSH 登录后找到相应的文件修改&#xff0c;这一点上不如 nginx-…

Nginx反向代理服务器

1、nginx简介 Nginx 是⼀个⾼性能的HTTP和反向代理web服务器&#xff0c;核⼼特点是占有内存少&#xff0c;并发能⼒强。 Nginx的应用场景&#xff1a; Http服务器&#xff08;Web服务器&#xff09; 1、性能⾮常⾼&#xff0c;⾮常注重效率&#xff0c;能够经受⾼负载的考验…

反向代理服务器的工作原理

最近有打算研读nginx源代码,看到网上介绍nginx可以作为一个反向代理服务器完成负载均衡。所以搜罗了一些关于反向代理服务器的内容,整理综合。 一 概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的…

Nginx反向代理服务器搭建(超详细)

一、简介 Nginx &#xff08;engine x&#xff09; 是一个高性能的Web服务器和反向代理服务器&#xff0c;也可以作为邮件代理服务器。 反向代理&#xff08;Reverse Proxy&#xff09;方式是指以代理服务器来接受internet上的连接请求&#xff0c;然后将请求转发给内部网络上…

什么是反向代理?

正向代理 当客户端访问一台服务器有障碍&#xff0c;访问不到的时候&#xff0c;这时候就可以找一台可以访问到该服务器的另外一台服务器去代替他去访问&#xff0c;这台代替他去访问的服务器称之为代理服务器。然后客户端就可以把请求发送给代理服务器&#xff0c;然后通过代…

服务器反向代理

一、定义 正向代理 正向代理&#xff0c;代理的是客户端&#xff0c;为客户端发送请求&#xff0c;对服务器隐藏自己的真实客户端。 由下图可见&#xff0c;通过代理服务器&#xff0c;可以访问局域网外的服务器&#xff0c;突破自身ip的访问权限。比如翻墙访问外网。 一般而言…

什么是反向代理(代理服务器解释

什么是反向代理(reverse proxy)&#xff1f; A reverse proxy protects web servers from attacks and can provide performance and reliability benefits. Learn more about forward and reverse proxies. 反向代理是位于 Web 服务器前面的服务器&#xff0c;将客户端&…

反向代理服务器

反向代理服务器的概念 反向代理服务器位于用户与目标服务器之间&#xff0c;但是对于用户而言&#xff0c;反向代理服务器就相当于目标服务器&#xff0c;即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时&#xff0c;用户不需要知道目标服务器的地址&#xff0…

超全Nginx反向代理服务器原理+实战篇

文章目录 1.Nginx简介和安装部署1.1.什么是Nginx1.2.Nginx的用途1.3.正向代理服务器1.4.反向代理服务器1.5.nginx安装部署1.6.线上访问服务器应用流程解析1.7.本地虚拟机配置宿主机域名映射2.Nginx核心基础知识2.1.Nginx目录结构2.2.Nginx核心配置文件2.3.Nginx搭建前端静态服务…

什么是反向代理服务器

我们常会看到‘反向代理服务器’这个名词&#xff0c;例如常看到文章上说 nginx 是一个反向代理服务器、varnish 是一个反向代理服务器 …… 下面就了解下这个概念 含义 ‘反向代理服务器’ 有两个概念&#xff0c;一是‘代理服务器’&#xff0c;二是‘反向’ ‘代理服务器’比…

入门Nginx反向代理服务器

前言 博主最近学习了Nginx&#xff0c;故想通过撰写博客的方式加强对知识的认识和记忆&#xff0c;所涉及知识浅薄&#xff0c;如有错误&#xff0c;敬请指正 一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xff1b;其特点是占有内存少&#xff0…

推导大O阶方法

1、用常数1取代运行时间中的所有加法常数&#xff1b; 2、只保留最高阶项&#xff1b; 3、去除最高阶项的常数&#xff1b; 常数阶是O&#xff08;1&#xff09;&#xff1b; 线性阶是O&#xff08;n&#xff09;; 对数阶是O&#xff08;logn)&#xff1b; 平方阶是O&…

大O算法复杂度表示

序言&#xff1a;算法的时间复杂度和空间复杂度都是用“ 大O表示法” 来表示的。其中O是个常量。 常见的 排序算法的时间复杂度&#xff1a; 冒泡排序、插入排序、希尔排序、选择排序的时间复杂度是O&#xff08;n^2&#xff09;&#xff1b; 快速排序的时间复杂度是 O&#…

数据结构学习笔记:算法复杂度的度量之“大O记号”

分析算法复杂度的非常重要的方法&#xff1a;大O记号&#xff01;&#xff01; 下面来让我们看一下到底什么是大O记号 举个例子&#xff1a; 用一个直尺去评价算法复杂度&#xff0c;上面的刻度就相当于大O记号&#xff0c;我们不一定要一味的强调刻度的精细程度&#xff0c;没…

算法复杂度渐进符号(大O、Ω和θ)的个人理解

做软考习题时&#xff0c;碰到了这样的一道题&#xff1a; 关于算法复杂度渐进符号&#xff08;O、Ω、θ&#xff09;&#xff0c;详细解释可参考&#xff1a; 【双语字幕】什么是算法复杂度渐进符号&#xff1f;阿布老师算法课11 这里节选总结了视频的重点内容&#xff0c;…