egg-http-proxy怎么使用
时间: 2024-05-24 13:10:14 浏览: 229
egg-http-proxy:鸡蛋的http代理
`egg-http-proxy` 是 Egg.js 框架的一个插件,用于代理 HTTP 请求到其他的服务。
下面是 `egg-http-proxy` 的使用步骤:
1. 安装 `egg-http-proxy`:
```bash
npm install egg-http-proxy --save
```
2. 在 `config/plugin.js` 中注册插件:
```javascript
// config/plugin.js
exports.httpProxy = {
enable: true,
package: 'egg-http-proxy',
};
```
3. 在 `config/config.default.js` 中配置代理:
```javascript
// config/config.default.js
exports.httpProxy = {
'/api': {
target: 'http://localhost:7001',
changeOrigin: true,
pathRewrite: { '^/api': '' },
},
};
```
上述配置表示将 `/api` 开头的请求转发到 `http://localhost:7001`,并将请求路径中的 `/api` 替换为空字符串。
4. 在 controller 中使用代理:
```javascript
// app/controller/home.js
const { Controller } = require('egg');
class HomeController extends Controller {
async index() {
const { ctx } = this;
const res = await ctx.curl('/api/users', { dataType: 'json' });
ctx.body = res.data;
}
}
module.exports = HomeController;
```
上述代码中,我们使用 `ctx.curl` 方法发起了 `/api/users` 的请求,实际上请求会被转发到 `http://localhost:7001/users`。
这就是使用 `egg-http-proxy` 的基本步骤。需要注意的是,如果你的代理目标是 HTTPS,你还需要设置 `secure: false`,否则可能会出现 SSL 握手失败的问题。
阅读全文