>   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

Reply via email to