繁体   English   中英

s4sdk-无法连接到NodeJS微服务

[英]s4sdk - Cannot connect to NodeJS microservice

我正在使用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/...

重新排序您的路由,使节点目标位于前端目标之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM