利用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来控制键盘的上下左右键(示例代码)
Dec 14 Javascript
Jquery 获取对象的几种方式介绍
Jan 17 Javascript
JQuery动画与特效实例分析
Feb 02 Javascript
javascript实现tab切换特效
Nov 12 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
Dec 15 Javascript
深入理解jquery跨域请求方法
May 18 Javascript
AngularJS ng-blur 指令详解及简单实例
Jul 30 Javascript
Centos7 中安装 Node.js v4.4.4
Nov 03 Javascript
浅谈Express异步进化史
Sep 09 Javascript
详解Vue组件之作用域插槽
Nov 22 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
Feb 28 Javascript
vue如何批量引入组件、注册和使用详解
May 12 Vue.js
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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
PHP防注入安全代码
2008/04/09 PHP
php 更新数据库中断的解决方法
2009/06/05 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
php计算税后工资的方法
2015/07/28 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
PHP实现简单登录界面
2019/10/23 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
JS实现盒子拖拽效果
2020/02/06 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
Python实现通过继承覆盖方法示例
2018/07/02 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
毕业生自我鉴定范文
2013/11/08 职场文书
怎么写自荐书范文
2014/02/12 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
学校政风行风整改方案
2014/10/25 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
优秀员工演讲稿
2019/06/21 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python