Spring 启动 zuul 代理为 post 请求返回 404 错误
Spring boot zuul proxy returning 404 error for a post request
我正在开发一个 spring 微服务应用程序。我的应用程序使用 api 网关、zuul 代理、spring web 并部署在 openshift 上。
我的 application.properties 文件中有以下配置:
zuul.routes.service-name.path=/test/aos/v1/**
zuul.routes.service-name.stripPrefix=false
zuul.routes.service-name.serviceId=service-name
点击 api @ https://URL.com/test/aos/v1/info 时出现以下错误:
{
"timestamp": "2021-06-20T23:34:36.862+0000",
"status": 404,
"error": "Not Found",
"message": "Not Found",
"path": "/info"
}
我通过 actuator/mappings
检查了 zuul 是否注册失败,并且该映射显示在那里。所以一切都很好。
另外,如果我直接调用 OCP 中的后端 API 容器 @ https://CONTAINER_URL.com/test/aos/v1/info 那么我会得到预期的结果。
所以我了解到 zuul 无法找到后端 api 容器的 url。为什么会这样?该应用程序不使用 netflix eureka,而是完全依赖于 openshift 注册表。
我不能站着这个错误进入我的站立......内部尖叫
根据配置的 serviceId 需要到达目标服务的服务器列表或 URL 映射,命名为“service-姓名
与其他设置一起添加以下 -
service-name.ribbon.NIWSServerListClassName=com.netflix.loadbalancer.ConfigurationBasedServerList
service-name.ribbon.listOfServers= https://example1.com,http://example2.com
或删除 serviceId 配置并为您的容器添加 URL 作为 -
zuul.routes.service-name.url=https://example.com/
我正在开发一个 spring 微服务应用程序。我的应用程序使用 api 网关、zuul 代理、spring web 并部署在 openshift 上。
我的 application.properties 文件中有以下配置:
zuul.routes.service-name.path=/test/aos/v1/**
zuul.routes.service-name.stripPrefix=false
zuul.routes.service-name.serviceId=service-name
点击 api @ https://URL.com/test/aos/v1/info 时出现以下错误:
{
"timestamp": "2021-06-20T23:34:36.862+0000",
"status": 404,
"error": "Not Found",
"message": "Not Found",
"path": "/info"
}
我通过 actuator/mappings
检查了 zuul 是否注册失败,并且该映射显示在那里。所以一切都很好。
另外,如果我直接调用 OCP 中的后端 API 容器 @ https://CONTAINER_URL.com/test/aos/v1/info 那么我会得到预期的结果。
所以我了解到 zuul 无法找到后端 api 容器的 url。为什么会这样?该应用程序不使用 netflix eureka,而是完全依赖于 openshift 注册表。
我不能站着这个错误进入我的站立......内部尖叫
根据配置的 serviceId 需要到达目标服务的服务器列表或 URL 映射,命名为“service-姓名
与其他设置一起添加以下 -
service-name.ribbon.NIWSServerListClassName=com.netflix.loadbalancer.ConfigurationBasedServerList
service-name.ribbon.listOfServers= https://example1.com,http://example2.com
或删除 serviceId 配置并为您的容器添加 URL 作为 -
zuul.routes.service-name.url=https://example.com/