Angular2/Angular 种子 http-proxy-middleware 代理 api 请求
Angular2/Angular seed http-proxy-middleware proxy api requests
我正在使用 Angular Seed project 并尝试为 api 后端服务请求设置代理,该请求在不同的端口上 运行。
到目前为止我的代码:
/* Add proxy middleware */
this.PROXY_MIDDLEWARE = [
require('http-proxy-middleware')({
ws: false,
target: 'http://localhost:5555',
router: {
// when request.headers.host == 'dev.localhost:3000',
// override target 'http://www.example.org' to 'http://localhost:8000'
//'http://localhost:5555/basepath/api' : 'http://localhost:7000/api'
}
})
];
基本上我需要做的是路由任何匹配 http://localhost:5555/basepath/api to http://localhost:7000/api 的 api 尽管我似乎无法使用 http-proxy-middleware 来实现它。我最初使用 proxy-middleware 工作,但由于我需要修改请求 headers 已经切换,而且似乎只能使用 http-proxy-middleware.
来完成
花了一些时间尝试完成这项工作,这就是我最终在构造函数中添加到 project.config.ts 的内容。
/* Add proxy middleware */
this.PROXY_MIDDLEWARE = [
require('http-proxy-middleware')(
'/basepath/api', {
ws: false,
onProxyReq: this.onProxyReq,
target: 'http://localhost:7000',
pathRewrite: {
'^/basepath/api' : '/api'
}
})
];
这是我在构造函数下面包含的函数,用于将 header 添加到任何被代理的请求中
onProxyReq(proxyReq: any , req: any, res: any) {
// add custom headers to request
proxyReq.setHeader('header_name', 'value');
}
我正在使用 Angular Seed project 并尝试为 api 后端服务请求设置代理,该请求在不同的端口上 运行。
到目前为止我的代码:
/* Add proxy middleware */
this.PROXY_MIDDLEWARE = [
require('http-proxy-middleware')({
ws: false,
target: 'http://localhost:5555',
router: {
// when request.headers.host == 'dev.localhost:3000',
// override target 'http://www.example.org' to 'http://localhost:8000'
//'http://localhost:5555/basepath/api' : 'http://localhost:7000/api'
}
})
];
基本上我需要做的是路由任何匹配 http://localhost:5555/basepath/api to http://localhost:7000/api 的 api 尽管我似乎无法使用 http-proxy-middleware 来实现它。我最初使用 proxy-middleware 工作,但由于我需要修改请求 headers 已经切换,而且似乎只能使用 http-proxy-middleware.
来完成花了一些时间尝试完成这项工作,这就是我最终在构造函数中添加到 project.config.ts 的内容。
/* Add proxy middleware */
this.PROXY_MIDDLEWARE = [
require('http-proxy-middleware')(
'/basepath/api', {
ws: false,
onProxyReq: this.onProxyReq,
target: 'http://localhost:7000',
pathRewrite: {
'^/basepath/api' : '/api'
}
})
];
这是我在构造函数下面包含的函数,用于将 header 添加到任何被代理的请求中
onProxyReq(proxyReq: any , req: any, res: any) {
// add custom headers to request
proxyReq.setHeader('header_name', 'value');
}