如何使Spring Boot Zuul代理服务器在本地处理特定请求,而不是将其代理到其他服务器?
假设我想通过一个API对Zuul代理服务器本身进行自定义运行状况检查,该API应该返回本地响应,而不是从其他远程服务器返回代理响应。
转发请求需要哪种路由配置?
答案 0 :(得分:0)
以下是我想出的方法,它对我有用:
1)创建一个本地请求处理程序:
在Zuul代理服务器代码
@RestController
public class LocalRequestHandler {
@GetMapping(path = "/status", produces = MediaType.TEXT_PLAIN_VALUE);
private static ResponseEntity<String> getServiceStatus() {
String status = "I am alive";
return ResponseEntity.ok().body(status);
}
}
2)在定义其他路由的配置文件(application.properties或视情况而定)中创建本地转发路由。就我而言,Spring Boot Zuul代理服务器在Jetty容器上运行,并且GatewaySvc作为应用程序上下文。
zuul.routes.gatewaysvc.path=/GatewaySvc/status
zuul.routes.gatewaysvc.url=forward:/GatewaySvc/status
对于未经测试的独立Spring Boot,您可能必须从上述配置中删除上下文路径。
zuul.routes.gatewaysvc.path=/status
zuul.routes.gatewaysvc.url=forward:/status