使用反向代理服务 public 个文件

Serve public files with reverse proxy

Node.js 8.9.1, hapi 16.6.2, h2o2 5.2.0

有一个 reverse proxy 路由可以使用外部 API。

  {
    method: '*',
    path: '/api/v2/{param*}',
    handler: {
      proxy: {
        host: 'host.net',
        port: 8100,
        protocol: 'http',
        passThrough: true,
        localStatePassThrough: true
      }   
    }   
  } 

我需要在同一个 Node.js 服务器上为 AngulaJS UI 提供服务。添加了以下路线。

  {
    method: 'GET',
    path: '/{param*}',
    handler: {
      directory: {
        path: 'public'
      }   
    }   
  }

现在我看到了 UI。但是我再也无法从外部获取数据API

curl -XGET localhost:8001/api/v2/birds
{"statusCode":404,"error":"Not Found","message":"Not Found"}

如何在同一台 Node.js 服务器上同时提供 UI 和反向代理服务?

我通过使反向代理路由更具体来使其工作。现在我有三个反向代理路由,而不是一个。

  {
    method: 'GET',
    path: '/api/v2/{param*}',
    handler: {
      proxy: {
        host: 'host.net',
        port: 8100,
        protocol: 'http',
        passThrough: true,
        localStatePassThrough: true
      }   
    }   
  },
  {
    method: 'POST',
    path: '/api/v2/{param*}',
    handler: {
      proxy: {
        host: 'host.net',
        port: 8100,
        protocol: 'http',
        passThrough: true,
        localStatePassThrough: true
      }   
    }   
  },
  {
    method: 'PUT',
    path: '/api/v2/{param*}',
    handler: {
      proxy: {
        host: 'host.net',
        port: 8100,
        protocol: 'http',
        passThrough: true,
        localStatePassThrough: true
      }   
    }   
  }