00:00
嗨,同学们,我们刚刚给大家聊完了这个CDN的缓存对吧?然后接下来给大家来聊一下这个,呃,在NX里如何根据用户的IP地址去定位它的具体的位置,以便于接下来的操作。呃,这呢,有这么一个模块叫GOIP这个模块呢,已经也有好多年了,现在呢,升级到了二的这个版本啊,这是一家商业公司推出来的,呃,这么一个这个组件,它不只是可以用在NG格上啊,在我们的其他的程序上,比如Java程序上,C语言,Python上,他也都能用,它给我们提供的这个方便的这个使用接口啊,这种使用接口呢,它可以通过。云的这种API我们可以直接去调,当然国内有很多供应商可以去用,然后另外就是嗯,它可以把它的这个库,呃,因为IP一个IP对应的究竟是什么地儿,它是中国的还是美国的啊,它是北京的还是上海的那么。这个是有IP和这个数据库里边的这个对应关系的,那这个对应关系的库呢,它也免费的开放出来了。
01:06
然后免费的版本啊,嗯,对应的肯定有商业版,免费版和商业版对比起来,就是它的数据的这种匹配的精确度略微差一点。啊,这是GOIP2,那主要它用在哪儿,其实在现在来说啊,这个应用场景已经不是特别多了啊,在早些时候的,嗯,那会儿的互联网,因为这种智能DNS服务器呢,做的也是不是特别完善,尤其是想要自己去维护它的这个库的话呢,呃,还是成本比较高的,但是现在来说,这个DNS智能解析的技术,从商业产品上来说,已经用了好多可以去选择的了,而且那些商业产品呢,也都比较可靠,很多大型公司呢也都用了这些商业产品,一般的云服务商那边呢。都有这个,呃,动态的DNS解析,呃,它大概的意思是啥呢?你看我们之前给大家聊的这个,嗯,CDN嘛,对吧,一个域名打过来,然后通过DNS解析成一个IP地址对吧?这个IP地址其实它可以解析成,呃,有一定规则这种方式去解析,比如说从北京来的,我去解析成北京的IP,那你如果是日本来的,我就给你解析到日本的IP上,对吧?那这样你访问的速度可能就比较快了,是吧。
02:21
那这个DNS服务器里边这个规则呢,和这个部署的配置方式,以前是比较麻烦的,现在呢,呃,基本上都是云服务了,在这一层面上,然后这个GUIP,你能想象到它的这个一些应用场景,无非也就是阻断一些用户请求了啊,比如说我我的站点就。呃,不对,这个,呃,某些国家开放啊,或者是我的站点呢,只限制在这个某一个城市里边可以去访问,但这种需求吧,其实也。怎么说呢,比较另类是吧?啊再有就是呢,我们还可以,嗯,比如说分不同的区域给它展示出来不同的站点,对吧,比如日本用户呢,我给他放,我给他指向到呃,我的这个日文版的呃站点目录里,然后这个呃,如果要他要是来自美国的呢,我就给他展示一个来自于美国的这个,呃不是给他展示一个这个我的这个美国版的这个网页,给它指向不同的这个本机的目录,同一个location指向不同的目录,这个也是可以的。
03:26
对吧,但是这种需求倒也并不是特别多,反正现在来说这个呃。能见到的用的最多的就是直接去阻断某些。站点的访问,比如说我们的有一些呃资源就只限中国大陆使用,那么这会儿我就压根儿就呃给你报一个这个错误就可以了,呃,所以这个这个IP的学习啊,要根据你的实际的应用,或者实际的需求,如果有需求的话,呃,再去深入的学习学习,然后我们在这儿呢,给大家。嗯,做一个这个简单的事例啊,可以区分开这个国内外的这个用户的这么一个例子,那么首先啊,我们需要先把它给安装到咱们的NG上,那是做这个例子啊得。
04:10
在外网去做,你在因为在内网,你自己访问自己那局域网的地址,它其实是没有这个区域之分的,因为都是内网IP嘛,对吧,那这个实例就必须得在。公网上去做啊才可以,所以你自己如果做实验的话,你得有一台公网的服务器啊。呃,有同学可能会想,这IP能不能造假,这肯定是不行的啊,因为这个TC pip协议,你去发送一个包过去,你就要有自己的这个地址,对吧,然后这个这边接到包之后,呃,针对于你的地址,他可得返回回来是吧,这种伪造IP,如果你把IP给他。伪造过去,你给他写一个假的IP过去,那他返回那个包,就给那个假的IP那个地址发过去了,这是你控制不了的是吧?所以呃,这个实验如果想要真实一点,就得在公网上去做。那么我先把它给安装起来,这个。
05:02
嗯,这IP这个组件啊,它这安装比较麻烦啊,首先呢,它有这么几个。地儿需要我们先去研究一下,它有三个地儿,第一个就是它的呃官方网站啊,在这官网站上呢,我们需要去下载它的这个,呃,数据库啊,这是下载数据库用的,第二个呢,就是在他的gate上啊,下载它的这个依赖啊,这是它的这个模块的依赖,这uip模块的依赖。第三个呢,就是在。啊,还是在的GIGI上啊,去下载这个NG格S的这个模块啊,就是三个点啊都得去下载打包编译啊相对来说比较繁琐一点,首先我们第一件事儿呢,先。嗯,整一个简单一点的啊,我们先去下载这个它的数据库,因为你没有数据库的话,有了模块,它这个IP没有可以比对的这么一个,这这么一个地儿,对吧。它的官方站点就是这个,那你想要下载它的库的话,你得登录注册呢,是免费的。
06:04
这个的注册相对来说比较繁琐一点。它不像通常的网站注册。他需要你先去验证邮件在这呢,呃,你看这是create一个,呃,Account我们现在没有怎么去create,他还需要给你介绍一下,所以他这个创建账户啊,相对来说比较麻烦。呃,我给大家简单看一下啊。这个。代理服务器打开访问太慢。嗯,在这呢,我们要注册这个账户呢,就很明显的目的就是我想要这个geo的database,呃,Web service,它的web service我们就先不用。因为用这个web service,你无法确定这第三方他是否在线啊,如果万一不在线,你这就卡死了是吧。呃,这个。注册之后就可以下载它这个库了,叫geo light2啊,这个light的这个库是免费版的库,嗯,如果要是没有这个light啊,这就是正经版本的,而且它这个库更新的频率特别高。
07:07
所以你如果要在线上使用的话,你没事就得更一下啊。然后在这去,呃,这个sign up就是这个。注册其实就是你在这儿填你的名字,然后公司名称。比如说这是张。然后company上硅谷,然后你所处的行业,这随便先选一个就可以啊,那我们在这儿啊,可以选这个education啊,我们是做教育的,然后你是哪个国家的,这个也给他选一下ABC。China。然后这个很重要,你的email,然后这两个就不用填,然后这勾一下,点一下continue,接下来它就会给你发一封验证的邮件。然后过一会儿你收到邮件之后呢,这邮件就是这样的,然后点击这个链接去重设一下自己的密码就可以了,然后接下来就可以登录这个系统了,我是事先已经注册好的,那我直接登录进去。
08:07
嗯,那么这是我登录完的状态,然后你登完之后,它就很明显知道你要干啥了,就是下载的数据库嘛,啊,然后这儿有三个版本的数据库都可以去下载,然后根据不同的应用场景去下载不同的库啊。然后这是基于这个country,它只能检索到国家,没有更多的细节,然后这个city,这是能够检索到城市,然后这个an呢,就像什么这个更加稍微更加详细点的这个区域啊,他也能够帮我们去检索出来。然后在这呢登录的database,然后我们在这儿下载它的这个country就可以了啊,因为这个库越大,你在检索的时候,或者说你在展示的时候,呃,你你检索的效率就越低,所以它分拆分成了不同的版本。然后这个country这个版本呢,嗯,应该是最小的吧,大概也就两兆左右。啊,然后下载。
09:00
这其实是我已经事先下载好了,那么接下来呢,找一台这个云服务器啊,然后我们开始安装部署。嗯,在这儿这儿有一台我事先给大家准备好的这个云服务器。呃,我们先先干第一件事儿,就是把这个刚刚下好的这个城,这个不是城市啊,这国家这个库给它给传上去。文档。这个country。这个扔上去。大家看着看,这是两兆as SN这就四兆了是吧,它还可以下载CVSCSV格式的,这CSV格式的,你就可以直接给它导成导到这个数据库里了。比如买啊Oracle啊,什么postra这些。啊,这传上去之后呢,呃,接下来我们去安装这个NG格,NG格斯的话。嗯。你找一下这个安装包。
10:02
那这里边儿有。这个它传上去,然后这两个都有了,接下来先别急啊,还得下载东西。嗯,看一下啊。接下来呢,我们得先去下载它的这个。呃,自身的这个。和这个这个这个依赖,先把这个给装上啊,这在上。啊,这是它的这个giar的官方站点,然后在他的release里我们去找。在这就下载1.60,现在是啊,我要事先下载好了,接下来把这个给它给传上去。
11:02
Max mind DB。这不是数据库,这是它的这个自身的这个依赖,然后我们先把它给装上啊。然后这个的话,我们先把它给解压开。然后进去进去之后呢,这个安装啊就比较简单,直接conig和make make in install就可以了。先看。呃,这个我们可以看到啊,这是缺依赖对吧,然后接下来把这个依赖给它给装上,这个呢就是GCC。
12:09
嗯,搞定,然后我们再看。哎,这会儿就没报错了,然后接下来麦克。嗯,也没错,然后没给你到。OK,注意啊,在安装它的这个,呃,自身的这个依赖的时候啊,就是这个力的时候你。Make install完之后呢,还没有完全的结束,嗯,这个我们还得再去配置一下这个动态连接库啊。这个在这儿,我记得应该是已经寄了。哦,在这下边啊。呃,相当于在这个系统的这个动态链接库里边呢,额外增加这么一个这么一个目录啊。
13:02
走,然后这个LD con相当于刷新一下这个系统的动态连接库。这到截止到这儿呢,我们把这个。他的这个,呃,官方的依赖就送给庄完。
我来说两句