Higress的whitelist-source-range ip访问控制,是任意匹配x-forward-for里面的所有ip吗? 还是说只匹配最后一个,目前我测试的现象是只匹配最后一个。
Higress的whitelist-source-range
Annotation是用于匹配x-forward-for头中的所有IP地址,并不仅仅是最后一个IP地址。
当配置了nginx.ingress.kubernetes.io/whitelist-source-range
这个Annotation时,它允许你设置一个CIDR列表来指定哪些IP或IP范围可以访问你的服务。这个列表中的每个CIDR表示一个IP地址范围,而x-forward-for头中可能包含多个IP地址,这些IP地址是由客户端通过代理服务器访问时添加的。
在实际应用中,如果whitelist-source-range
配置正确,但仍然只能匹配到x-forward-for头中的最后一个IP,那可能是由于配置错误或者Higress处理请求头的方式导致的。建议检查配置是否正确,并确保没有其他因素影响到了IP白名单的功能。如果问题依旧存在,可以考虑查看Higress的日志或者寻求社区支持来进一步诊断问题。
针对socket ip的,你看到的xff最后一个也是网关拿到socket ip后append上去再传给后端的。可以参考下这个envoyfilter hcm下有个配置字段 可以配置前面可信任的代理跳数 https://github.com/alibaba/higress/issues/771 这样就会把xff里倒数第二个拿来做真实ip了。https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-msg-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager xff_num_trusted_hops 这个字段。此回答整理自钉群“Higress 社区交流 2 群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。