Zuul 请求标头未转发



我有一个使用 Zuul 的应用程序,托管在 AWS 上的 Kubernetes 集群中。看起来 Zuul 没有将标头从请求转发到目的地,所以我必须这样做:

private void copyRequestHeaders() {
    RequestContext context = RequestContext.getCurrentContext();
    Enumeration<String> headerNames = context.getRequest().getHeaderNames();
    while(headerNames.hasMoreElements()) {
       String headerName = headerNames.nextElement();
       context.addZuulRequestHeader(headerName, context.getRequest().getHeader(headerName));
    }
}

猜我不应该这样做,并且我在某处或类似的地方缺少配置选项。谁能对此有所了解。有趣的是,该应用程序在我的本地开发环境中运行良好。

我还想知道 ZuulRequestHeader 和 ZuulResponseHeadera 的用途,以及它们与标准请求和响应标头的区别。也许是包装纸?

谢谢

尝试在配置中添加sensitiveHeaders

zuul:
    routes:
        sample:
            sensitiveHeaders:
            path: /sample

删除sensitiveHeaders上的任何值意味着在 Zuul 网关上传递的所有标头都将在微服务中深入传递。

有关详细信息,请参阅此文档。

默认情况下,Zuul API 网关不会允许将敏感信息转发到下游微服务。此属性的默认值为

zuul.sensitiveHeaders: Cookie,Set-Cookie,Authorization

我们可以覆盖此值以允许某些标头

zuul.sensitiveHeaders: Cookie,Set-Cookie

为了允许所有标题,我们可以将其保留为空白

zuul.sensitiveHeaders:

最新更新