node 搭载本地代理,处理web本地开发跨域问题
var path = require('path')
var httpProxy = require('http-proxy')
var express = require('express')
var app = express()
var rootPath = path.join(__dirname, './');
var port = 8060;  // 指定服务端口
var filterFields = ['/api'];  // 过滤请求路径关键字 type: array
var proxy = httpProxy.createProxyServer({
    // target: 'http://sit.behuntergatherer.com/',   //代理 接口地址
    target: 'http://uat.behuntergatherer.com/',   //代理 接口地址
    // target: 'http://10.36.9.161:8080'
    // target: 'http://10.36.8.36:8083',
    changeOrigin: true,
    // 下面的设置用于https
    // ssl: {
    //     key: fs.readFileSync('server_decrypt.key', 'utf8'),
    //     cert: fs.readFileSync('server.crt', 'utf8')
    // },
    // secure: false
});
proxy.on('error', function(err, req, res){
    res.writeHead(500, {
        'content-type': 'text/plain'
    });
    console.log(err);
    res.end('Something went wrong. And we are reporting a custom error message.');
});
// 处理静态资源
app.use(express.static(rootPath));
// 只对 filterFields 数组元素有的字段请求,挂载此中间件
filterFields.forEach(function (field) {
    app.use(field, function (req, res, next) {
        var pathname = req.url;
        req.url = field + pathname;
        proxy.web(req, res);
    })
});
app.listen(port);
console.log("Server runing at : localhost:" + port + "/example/example.html");
node 搭载本地代理,处理web本地开发跨域问题的更多相关文章
- Vue 本地代理 纯前端技术解决跨域
		vue-axios获取数据很多小伙伴都会使用,但如果前后端分离且后台没设置跨域许可,那要怎样才能解决跨域问题? 常用方法有几种: 通过jsonp跨域 通过修改document.domain来跨子域 使 ... 
- 基于.Net Framework 4.0 Web API开发(5):ASP.NET Web APIs  AJAX 跨域请求解决办法(CORS实现)
		概述: ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但是在使用API的时候总会遇到跨域请求的问题,特 ... 
- node端代理浏览器路由 解决浏览器跨域问题
		var _ = require('lodash'); var request = require("request"); /* @LM 2017-02-16 node端代理浏览器路 ... 
- 14 微服务电商【黑马乐优商城】:day06-使用nginx反向代理并掌握cors解决跨域
		本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ... 
- Nginx作为静态资源web服务之跨域访问
		Nginx作为静态资源web服务之跨域访问 首先了解一下什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 所谓同源是指,域名,协议,端口均相 ... 
- 在Angular.js中的H5页面调用Web api时跨域问题处理
		/// <summary> /// 被请求时 /// 在Angular.js中的H5页面调用Web api时跨域问题处理 /// </summary> /// <para ... 
- nuxt.js 本地开发跨域问题(Access-Control-Allow-Origin)及其解决方案
		先运行npm i @gauseen/nuxt-proxy -D 再nuxt.config.js的module.exports 里面添加如下代码 modules:[ '@nuxtjs/axios', / ... 
- 本地主机作服务器解决AJAX跨域请求访问数据的方法
		近几天学到ajax,想测试一下ajax样例,由于之前在阿里租用的服务器过期了,于是想着让本地主机既做服务器又做客户端,只是简单地测试,应该还行. 于是,下载了xampp,下载网址http://www. ... 
- 本地调试 谷歌浏览器报错:跨域问题处理  Access-Control-Allow-Origin
		前端在本地,调试,就经常的就是会遇到 调用接口,提示跨域了. 如你要访问 http://****/api/user chrome 浏览器 报错: XMLHttpRequest cannot load ... 
- nginx代理天地图做缓存解决跨域问题
		作为一个GISer开发者,天地图是经常在项目中以底图的形式出现,其加载地址如: 天地图矢量:http://t{0-6}.tianditu.com/DataServer?T=vec_w&x={x ... 
随机推荐
- iOS nil,Nil,NULL,NSNULL的区别
			nil (id)0 是OC对象的空指针,可正常调用方法(返回空值,false,零值等) Nil (Class)0 是OC类的空指针,主要运用于runtime中,Class c = Nil; 其他特性 ... 
- Ubuntu下已安装Anaconda但出现conda: command not found错误解决办法
			原因:环境未配置 执行[vim ~/.bashrc]命令,进入配置文件,在最后一行按'o'插入一行,并添加语句: export PATH=/home/duanyongchun/anaconda3/bi ... 
- [noip模拟赛]某种数列问题<dp>
			某种数列问题 (jx.cpp/c/pas) 1000MS 256MB 众所周知,chenzeyu97有无数的妹子(阿掉!>_<),而且他还有很多恶趣味的问题,继上次纠结于一排妹子的排法以 ... 
- python爬虫之requests的基础使用
			1.先安装requests库,打开cmd,输入:pip install requests 
- 家庭记账本app进度之下拉框和数字转轮的相关应用
			这次主要是悬系的下拉框Spinner和数字转轮NumberPicker的使用.先分析相关的用到的知识点. 在Android中,用string-array是一种简单的提取XML资源文件数据的方法. 例子 ... 
- python3中的nonlocal 与 global
			nonlocal 与 global nonlocal翻译是非本地,global翻译是全局,它们都是python3的新特性.如果以类C语言的思维去看这2个关键字,很可能觉得它们差不多.但实际上它们很不一 ... 
- MAC中PHP7.3安装mysql扩展
			1.下载mysql扩展http://git.php.net/?p=pecl/database/mysql.git;a=summary 2.解压tar xzvf mysql-d7643af.tar.gz ... 
- 30.5 Map遍历方法
			package day30_2_Map; import java.util.HashMap; import java.util.Map; import java.util.Set; /* 方法一.用e ... 
- "视频播放器"组件:<video-player> —— 快应用组件库H-UI
			 <import name="video-player" src="../Common/ui/h-ui/media/c_video_player"> ... 
- matplotlib TransformedBbox 和 LockableBbox
			TransformedBbox 和 LockableBbox 都是BboxBase的子类.TransformedBbox支持使用变换来初始化bbox, LockableBbox可实现锁定bbox的边不 ... 
