Koa2注册代理转发中间件http-proxy-middleware

踩坑koa2开发,配置http-proxy-middleware用于代理转的中间件。在使用koa2作为前后端分离的框架,工程当中的静态页面需要请求在其他域名下的java工程接口,由于同源策略的限制,在koa2工程下的静态资源只能通过node后端进行代理请求其他域名下的接口。


 具体配置: 

const Koa = require('koa')
const app = new Koa()
const httpProxy = require('http-proxy-middleware');
const k2c = require('koa2-connect');
const bodyparser = require('koa-bodyparser')


/**
* 使用http代理请求转发,用于代理页面当中的http请求
* 这个代理请求得写在bodyparse的前面,
*/
app.use(async(ctx, next) => {
    if (ctx.url.startsWith('/api')) { //匹配有api字段的请求url
       ctx.respond = false // 绕过koa内置对象response ,写入原始res对象,而不是koa处理过的response
        await k2c(httpProxy({
        target: 'http://192.168.50.60:3000', 
        changeOrigin: true,
        secure: false,
        pathRewrite: {
        '^/api': ''
            }
        }
        ))(ctx,next);
    }
    await next()
})


app.use(bodyparser({
enableTypes:['json', 'form', 'text']
}))

.......等等一大堆中间件

module.exports = app


总结,大部分是从网上收集到的知识点混合在一起,完成http-proxy的代理,期间使用过几个专门给koa2使用的http-proxy,但是大部分核心部分还是依赖于http-proxy-middleware这个依赖包的


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值