我们使用 NGINX 作为反向代理,它将来自外部的调用分派到我们内部的 Java 微服务:
我们想添加一项特殊服务,作为“中间人”,但仅限于请求部分。它的目的是装饰原始请求(身份验证、添加/修改 HTTP 标头、验证访问权限)。“装饰任务”涉及复杂的业务逻辑,无法在 NGINX 本身上进行配置。
我们希望首先调用该服务,然后将其响应(尤其是 HTTP 标头!)作为请求转发给其中一个微服务。也许还可以选择使用原始主体调用分派的服务,但使用从装饰器服务返回的 HTTP 标头。
当服务返回一个 HTTP 错误时,它应该直接返回给调用者而不用分派。
该服务被实现为 Java Spring Boot 应用程序。这是一个常规的网络服务。
是否可以在 NGINX 中配置,如何配置?
需要明确的是:我不是在问如何实施这项特定服务。我只需要知道是否可以(以及如何)配置 NGINX,以便它在调度调用之前调用另一个服务,并且 NGINX 将从该服务返回的标头(可能还有正文,但不一定)传递给调用。