我正在使用NodeJS微服务扩展第9步中提到的教程。但是,与后端的通讯存在一些奇怪的问题。
我的流程是一个应用路由器,该路由器定向到HTML5微服务(静态buildpack),并且消耗了Java或NodeJS微服务。Java部分与身份验证范围一起正常工作,但是对于NodeJS,当我调用各自的路径/ node / hello时,我总是会收到404(未找到)错误(hello应该返回服务器的函数输出)。
这是我用于路由的xs-app.json
{
"welcomeFile": "index.html",
"authenticationMethod": "route",
"websockets": {
"enabled": true
},
"routes": [
{
"source": "/odata/v4/(.*)",
"target": "/odata/v4/$1",
"destination": "business-partner-api"
},
{
"source": "/",
"target": "/",
"destination": "business-partner-frontend"
},
{
"source": "/node/(.*)",
"target": "/$1",
"destination": "business-partner-node"
}
]
}
问题在/ node块上,其他的都可以正常工作。我还注意到了另一个奇怪的问题,即如果我将默认目标(/)从business-partner-frontend替换为business-partner-node,则应用路由器会成功地通过传播身份验证的方式调用节点js服务器,因此出现了问题与xs-app文件有某种关系,而与目标本身无关。
我也尝试将端口添加到目标并添加映射html5项目的静态文件,但未成功。
节点部分配置中可能缺少任何内容吗?
最好的祝福,
问题可能出在您的路由顺序中,这对于路由很重要。当前路径的第一个匹配项source
将确定路线。在您的情况下,/
第二条路线的匹配所有路径,包括/node/...
。
重新排序您的路由,使节点目标位于前端目标之前。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句