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和反向代理?
答案 0 :(得分:2)
我通过使反向代理路由更具体来使其工作。现在我有三条反向代理路由而不是一条。
{
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
}
}
}