利用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 相关文章推荐
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
javascript动态控制服务器控件实例
Sep 05 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
Oct 16 Javascript
在localStorage中存储对象数组并读取的方法
Sep 24 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
Js apply方法详解
Feb 16 Javascript
使用vue.js编写蓝色拼图小游戏
Mar 17 Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 Javascript
js实现单元格拖拽效果
Feb 10 Javascript
webpack中的模式(mode)使用详解
Feb 20 Javascript
JavaScript碰撞检测原理及其实现代码
Mar 12 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
Jan 18 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
PHP ajax 分页类代码
2008/11/13 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
php 基础函数
2017/02/10 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
JS实现的二叉树算法完整实例
2017/04/06 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
Python读写Excel文件方法介绍
2014/11/22 Python
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
python 文件操作删除某行的实例
2017/09/04 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
纽约和芝加哥当天送花:Ode à la Rose
2019/07/05 全球购物
法学个人求职信范文
2014/01/27 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
工程项目建议书范文
2014/03/12 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
给校长的建议书范文
2015/09/14 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL
php实现自动生成验证码的实例讲解
2021/11/17 PHP