启用 Hystrix 后 OpenFeign 无法传递 Header
来源:15-4 远程服务调用 Feign 接口定义及配置(1)

shiroazu
2022-04-08
启用 Hystrix 后,远程调用会通过 Hystrix 的线程池发起,但在子线程中无法通过 RequestContextHolder.getRequestAttributes() 获取到父线程的请求头。
目前自己的解决方式是通过 HystrixCommandExecutionHook 重新设置请求参数可传递到子线程。
RequestContextHolder.setRequestAttributes(RequestContextHolder.getRequestAttributes(), true);
但是在课程中并没有看到进行过相关的配置,而之后的功能验证课程中也能正常发起远程调用,被调服务能拿到请求头,请问是我哪里疏忽了吗?同时也想问下,目前的解决方式存在哪些问题或风险呢?
写回答
1回答
-
张勤一
2022-04-08
同学你好:
从你的解决方式来看,应该是没有问题的;但是,对于 Header 来说,可能会存在一些攻击性的信息,可以做一些相关的白名单校验。
10
相似问题