zuul过滤器中转发请求头的解决方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

zuul过滤器中转发请求头的解决⽅案

zuul过滤器中转发请求头

Zuul⽹关过滤的时候,如果不在⽹关过滤时转发请求头,经过⽹关时请求头就会丢失。

⽹关过滤转发请求头代码如下

@Override

public Object run() throws ZuulException {

RequestContext currentContext = RequestContext.getCurrentContext();

HttpServletRequest request = currentContext.getRequest();

Enumeration<String> headerNames = request.getHeaderNames();

if (headerNames != null) {

while (headerNames.hasMoreElements()) {

String name = headerNames.nextElement();

String values = request.getHeader(name);

currentContext.addZuulRequestHeader(name, values);

}

}

return null;

}

但我⽤ addZuulRequestHeader转发请求头却不起作⽤。原来是敏感请求头Authorization,Cookie,Set-Cookie默认不转发的。解决⽅法⼀:使⽤别的单词,如 token、myAuthorizaion等

解决⽅法⼆:配置application.yml

zuul:

routes:

api-seller:

path: /api/seller/**

serviceId: mobileshop-api-seller-feign

sensitive-headers:

- Cookie,Set-Cookie,Authorization

zuul路由转发header丢失问题

定义⼀个前置过滤器,获取原⽣request的请求头,塞到zuul转发request请求头中。

以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

相关文档
最新文档