1

我的微服务正在端口中运行3000,我正在尝试通过代理请求express-js gateway

但是我在访问微服务中的路由时遇到了问题

微服务路线

app.use('/sample',(req,res)=>{
   res.json({
     message:'Run with microservice'
   })
})

而且我可以访问这条路线http://localhost:3000/sample

这是我的 gateway.config.yml

http:
  port: 3004
admin:
  port: 9876
  hostname: localhost
apiEndpoints:
  test:
    host: localhost
    paths: '/test'
serviceEndpoints:
  test:
    url: 'http://localhost:3002/'  
policies:
  - basic-auth
  - cors
  - expression
  - key-auth
  - log
  - oauth2
  - proxy
  - rate-limit
pipelines: 
  test:
    apiEndpoints:
      - test
    policies:
      - proxy:
          - action:
              serviceEndpoint: test
              changeOrigin: true              

http://localhost:3004/test/sample当我尝试通过返回访问我的微服务路由 时cannot get route error

4

2 回答 2

0

一般来说,请务必查看我们的路径管理部分。这将帮助您了解转发到您的服务的 PATH 是什么。

具体谈谈你的问题——如果你想转发一个可以“继续”超出规范的路径,你需要将路径定义从 更改/test/test*。这指示网关路径不完整并且可能提供其他内容。

此外,在服务方面,我会将其更改为app.useapp.get以便您只收听您感兴趣的动词。

干杯!

于 2018-09-10T11:08:28.643 回答
-2

我会选择 Janus - https://hellofresh.gitbooks.io/janus/用于 API 网关管理,因为它专门针对这一点。看看,让我知道你的想法。

于 2018-09-10T11:06:30.323 回答