利用node.js实现反向代理的方法详解


Posted in Javascript onJuly 24, 2017

本文主要给大家介绍的是关于利用node.js实现反向代理的相关内容,分享出供大家参考学习,下面话不多说,来一起看看详细的介绍:

跨域问题是前端开发很常见的问题解决方案有很多种

  • jsonp返回
  • Access-Control-Allow-Origin:'*' (需要注意的是 对于post请求会变成option请求需求后端支持)
  • 前端添加代理

前端添加代理

以vue-cli为例,前端添加代理

dev: {
 env: require('./dev.env'),
 port: 8888,
 autoOpenBrowser: true,
 assetsSubDirectory: 'static',
 assetsPublicPath: '/',
 proxyTable: {
 '/api':{
 target: 'http://localhost:3000',
 changeOrigin: true,
 }
 }

其中'/api'为接口的前缀,target为后端服务地址

前端请求示例

vm.$http.post('/api/reg', JSON.stringify(info)).then(() => {

 }, () => {

 });

反向代理

反向代理可以理解为指定一个服务地址为内部服务器地址。

为什么需要反向代理

如果只是作为接口请求,其实前端搭建代理服务器就可以了,但是代理服务器并不能满足所有的日常开发。

比如说单点登录的实现,需求服务端做302跳转。但是前端文件没有部署到后端服务器时,set-cookie是不能成功种下cookie登录信息的。

这就需要在后端服务器添加反向代理。

示例如下

const proxy = httpProxy.createProxyServer();
const proxyServer = http.createServer((req, res) => {
 proxy.web(req, res, {
 target: 'http://localhost:8888',
 });
});
proxyServer.listen(8088, () => {
 console.log('proxy server is running ');
});

这样前端开发就可以在8088端口了,当然热加载功能是在前端服务器的8888端口

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
新页面打开实际尺寸的图片
Aug 25 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
javascript在IE下trim函数无法使用的解决方法
Sep 12 Javascript
Javascript基础教程之argument 详解
Jan 18 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
Jan 04 Javascript
实例讲解jquery与json的结合
Jan 07 Javascript
Bootstrap3 图片(响应式图片&图片形状)
Jan 04 Javascript
vue组件如何被其他项目引用
Apr 13 Javascript
Vue进度条progressbar组件功能
Apr 17 Javascript
理理Vue细节(推荐)
Apr 16 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 Javascript
React如何创建组件
Jun 27 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
Jul 24 #Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 #Javascript
JavaScript对JSON数据进行排序和搜索
Jul 24 #Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
Jul 24 #Javascript
深入理解React Native原生模块与JS模块通信的几种方式
Jul 24 #Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 #Javascript
vue.js移动端app实战1:初始配置详解
Jul 24 #Javascript
You might like
Git命令之分支详解
2021/03/02 PHP
JavaScript 函数式编程的原理
2009/10/16 Javascript
javascript 全等号运算符使用说明
2010/05/31 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python通过配置文件共享全局变量的实例
2019/01/11 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
Python Pandas 箱线图的实现
2019/07/23 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
.NET方向面试题
2014/11/20 面试题
Linux文件操作命令都有哪些
2015/02/27 面试题
大学生毕业自我鉴定范文
2013/11/03 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
实现中国梦思想汇报2014
2014/09/13 职场文书
高三语文复习计划
2015/01/19 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang
Golang Web 框架Iris安装部署
2022/08/14 Python