利用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 相关文章推荐
JavaScript脚本性能的优化方法
Feb 02 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
javascript中的作用域scope介绍
Dec 28 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
Oct 19 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 Javascript
javascript 回到顶部效果的实现代码
Feb 17 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
Dec 28 Javascript
jquery插件validation实现验证身份证号等
Jun 04 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
May 20 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
详解Vue3中对VDOM的改进
Apr 23 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 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
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
使用PHP curl模拟浏览器抓取网站信息
2013/10/28 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
AngularJS快速入门
2015/04/02 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
js中bool值的转换及“&&”、“||”、 “!!”详解
2017/12/21 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
利用python批量检查网站的可用性
2016/09/09 Python
Python实现的密码强度检测器示例
2017/08/23 Python
Python 从相对路径下import的方法
2018/12/04 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
关于windows下Tensorflow和pytorch安装教程
2020/02/04 Python
sklearn的predict_proba使用说明
2020/06/28 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
信息技术专业个人自我评价
2013/12/11 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
秋季婚礼证婚词
2014/01/11 职场文书
无故旷工检讨书
2014/01/26 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
2015年读书月活动总结
2015/03/26 职场文书
小学班主任研修日志
2015/11/13 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers