IP地址的HAProxy地理位置映射与任何条目均不匹配

时间:2019-05-03 12:05:15

标签: load-balancing haproxy

我的haproxy配置中包含以下行:

http-request set-header x-geoip-country %[src,map(/etc/hap1.8/geo/country_iso_code.map)]

设置原产国,但只有在密钥是确切的密钥ip而不是haproxy期望的CIDR表示ips时,它才起作用。该列表来自maxmind,其格式如下;

1.0.0.0/24 AU
1.0.1.0/24 CN
1.0.16.0/20 JP
...

例如,一个1.0.0.45的ip将与文件中的1.0.0.45匹配,而不是1.0.0.0/24。虽然这似乎合乎逻辑,但这是在haproxy的示例中,所以我问是否可以与10.0.0.0/24匹配?

1 个答案:

答案 0 :(得分:1)

默认情况下,map将按字符串而不是ip进行匹配。来自docs

  

map_<match_type>(<map_file>[,<default_value>])

     

...如果未设置<match_type>,则默认为“ str” ...

要通过ip进行匹配,请使用map_ip

http-request set-header x-geoip-country %[src,map_ip(/etc/hap1.8/geo/country_iso_code.map)]