Nginx geo模块不会使用变量?

时间:2017-10-30 09:12:15

标签: nginx geo

当我尝试运行不错的Ip2Geo Importer来为我的网站添加地理功能时,我注意到了奇怪的nginx 1.13.6行为。我怀疑这是否是预期的,或者我有办法使用。

以下是配置示例:

geo $city {
    ranges;
    default $city_mm;
    include geo/city.txt;
}

geo $city_mm {
    ranges;
    include geo/mm_city.txt;
}

也就是说,如果无法计算/找到 $city_mm 的值,它应返回 $city 的内容,但是当我运行它时使用nginx,它只返回字符串$city_mm(正是这个字符串,而不是该名称变量的内容),而当时定义了$city_mm

我看不出有关这方面的问题所以只是想问一下我是否有办法做到这一点,也许是以不同的方式?

1 个答案:

答案 0 :(得分:1)

因此,请从@alexander的外部链接中总结解决方案,Nginx(当前)不支持地理地图的动态默认设置,因此您必须使用常规地图的默认功能。

geo $city_geo {
    ranges;
    include geo/city.txt;
}

geo $city_mm {
    ranges;
    include geo/mm_city.txt;
}

map $city_geo $city {
    "" $city_mm;
    default $city_geo;
}