关于http代理的问题，以及提供一种轻量解决方案
我自己发现了http代理的局限，然后解决了此问题。在这里分享下解决方案，以供后面遇到同类问题的人查询。


我的诉求是把外部请求代理到局域网的8888端口，比如这样的链路

https://www.showdoc.com.cn  ->  http://192.168.2.7: 8000

但当我使用https://github.com/eggjs/egg-http-proxy 来试图解决问题的，发现并没有用。

egg-http-proxy里proxyRequest ， 其参数 host 似乎只能域名，无法自定义协议和端口号（比如把协议从https转到http）。

后面我是这么解决的：

```
   // 在控制器的某个方法内，可以在路由处监听所有url然后转发到本控制器方法

   const { ctx } = this;
    const url = `http://192.168.2.7: 8000${ctx.originalUrl}`;
    const res = await ctx.curl(url, {
      streaming: true,
    });
    if (res.headers) {
      for (let key in res.headers) {
        ctx.set(key, res.headers[key]);
      }
    }
    ctx.status = res.status;
    ctx.body = res.res;

```

上面的方法只是代理了http中的get方式，使用范围有限。如果要支持更多方法可以自行修改。目前这个轻量级方案能满足我需求，我本身就是代理到某文件下载服务，就是使用http get

