当前位置: 首页 > 工具软件 > koa-proxy > 使用案例 >

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

吴哲
2023-12-01
踩坑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这个依赖包的


 类似资料: