我正在从事某种原型(prototype)项目。我有两个 微服务 托管在具有不同技术堆栈的单独服务器上。这是它的一些端点
1 User management
-- /users
-- /user/:id
-- /user/roles
2 Other operations (e.g. managing a book, book details)
-- /books
-- /book/:id
-- /book/:id/history
我使用 GCP 托管我的应用。我有一个负载均衡器指向上述后端服务。我正在尝试使用主机和路径规则 来使用这两种服务,它看起来像下面的屏幕截图。
我想访问我的用户管理微服务
dns/user-manager/users
dns/user-manager/user/:id
dns/user-manager/user/roles
和其他微服务一样
dns/book-manager/books
dns/book-manager/book/:id
dns/book-manager/book/:id/history
但看起来,它只是将 url 上面的内容直接转发到特定服务,所以我得到了 404。而且我不想将我的所有路由添加到负载均衡器路径设置中,因为这将很难维护。期待听到一些解决方案。提前致谢。
最佳答案
我了解您希望将对/user-manager/SUB/PATH 的入站请求转发给用户服务并重新写入/SUB/PATH。听起来您的转发工作正常,但重写工作无效。
Google HTTP/S LB 无法为您重写。您必须在 GCLB 和您的微服务之间添加一个反向代理来重写 URL。例如nginx can do this .
关于google-cloud-platform - GCP 负载均衡器中基于路径的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52943491/