> 1、I want route user‘s request from country request into different upstream host.
I think AIPSIX needs to support this feature. it is a useful feature for the user. We do not need to update `resty-radixtree`, only update `ctx.vars` is enough. for example, a way to get the city: `ctx.vars.geo_city` . Then the users can use it in `route` or `plugin`, both of the way are fine. On Thu, Aug 6, 2020 at 8:55 AM Ming Wen <[email protected]> wrote: > Optional features should be implemented by plugins, > and the core should be keep simple. > > Thanks, > Ming Wen, Apache APISIX & Apache SkyWalking > Twitter: _WenMing > > > YuanSheng Wang <[email protected]> 于2020年8月6日周四 上午8:28写道: > > > On Thu, Aug 6, 2020 at 7:39 AM Ming Wen <[email protected]> wrote: > > > > > IMO, implement geo_ip as plugin is better, not in the route. > > > > > > > I would like to implement it in `route`. > > > > It may be a condition, we can support it in `vars'. > > > > > > > > > > And https://luarocks.org/modules/agladysh/lua-geoip is not a good > > > approach, > > > lua-resty-maxminddb[1] is good for APISIX. > > > > > > > this library is better. agree +1 > > > > > > > > > > [1] https://github.com/anjia0532/lua-resty-maxminddb > > > > > > Thanks, > > > Ming Wen, Apache APISIX & Apache SkyWalking > > > Twitter: _WenMing > > > > > > > > > JinChao Shuai <[email protected]> 于2020年8月6日周四 上午1:47写道: > > > > > > > I also agree with the second approach and to `Yansheng Wang` that > users > > > can > > > > use their own GeoIP database. > > > > > > > > YuanSheng Wang <[email protected]> 于2020年8月5日周三 下午11:40写道: > > > > > > > > > Of course, the second way is better for APISIX. > > > > > > > > > > The `lua-geoip` is under Dual license, we need to confirm if we can > > use > > > > > this library. > > > > > > > > > > The users needs to download the GeoIP database by himself, Apache > > > APISIX > > > > > can > > > > > not ship with the GeoIP data(under LGPL 2.1). > > > > > > > > > > > > > > > On Wed, Aug 5, 2020 at 9:16 PM Li Ling(Lien) <[email protected]> > > > wrote: > > > > > > > > > > > rencently I am thinking about have Geo routing in APISIX, > > > > > > scenario: > > > > > > 1、I want route user‘s request from country request intoto > > > different > > > > > > upstream host. > > > > > > 2、When users from outside China redirect to international > > > > > homepage(many > > > > > > video sites like youku.com they ban users from outside china). > > > > > > > > > > > > > > > > > > here is two solution I digged into: > > > > > > > > > > > > 1、intergrate nginx module > > > > https://github.com/leev/ngx_http_geoip2_module > > > > > > and > > > > > > do variable matching. > > > > > > disadvantage: we need calculate the geo data from ip info > for > > > > every > > > > > > request,which is so inefficient. > > > > > > > > > > > > > > > > > > 2、https://luarocks.org/modules/agladysh/lua-geoip > > > > > > intergrate this lua module into lua-resty-radixtree, when > > > geo_ip_* > > > > > > parameter is set in the routes, we calculate the ip country info > > from > > > > > geoip > > > > > > library.so that it wont calculate the geo data for each > request. > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > *MembPhis* > > > > > My GitHub: https://github.com/membphis > > > > > Apache APISIX: https://github.com/apache/incubator-apisix > > > > > > > > > > > > > > > > > -- > > > > Thanks, > > > > Janko > > > > > > > > > > > > > -- > > > > *MembPhis* > > My GitHub: https://github.com/membphis > > Apache APISIX: https://github.com/apache/incubator-apisix > > > -- *MembPhis* My GitHub: https://github.com/membphis Apache APISIX: https://github.com/apache/incubator-apisix
