使用MuleSoft代理时是否会设置请求客户端的X-Forwarded-For IP?
MuleSoft代理API获取原始请求X-Forwarded-For信息操作方案
- Mule 4版本可直接通过表达式
#[attributes.headers.'X-Forwarded-For']提取对应值,默认场景下API代理会自动保留入站请求中的该头部字段。 - 若提取结果为空,优先检查两项配置:
- 代理的HTTP监听器是否开启了禁用转发头的相关开关,关闭该开关即可保留X-Forwarded-For字段
- 代理绑定的自定义策略中是否配置了请求头过滤规则,确认没有把
X-Forwarded-For列入拦截删除名单
- 若需要将该头部传递给代理的后端API,在代理的HTTP请求组件的头部配置项中,新增键为
X-Forwarded-For、值为上述提取表达式的配置即可 - Mule 3版本提取该值的对应表达式为
#[message.inboundProperties.'X-Forwarded-For']
若MuleSoft代理前还有CDN、WAF等前置网络节点,需要先确认前置节点已配置正确的X-Forwarded-For头追加规则,否则Mule侧获取到的IP会是前置节点的IP而非原始请求方IP。
内容的提问来源于stack exchange,提问作者Andy N
相关产品推荐
相关产品推荐

