00:00
嗨,同学们好,呃,这节课开始我们讲一下这个代理级别的这个缓存啊,也就是基于这个pass。那在这儿呢,我会给大家先提前再讲一下这个正向代理的一些配置,因为我看之前有同学留言,想要了解一下这个正向代理怎么配。呃,先跟大家说一下这个NG的,呃代理呢,嗯,本质上它其实是不分这个正向和反向的啊,只是我们在配置的时候额外的嗯,增加了一些这个个性化的配置,所以有时候可以看把它看起来像是正向代理,总的呢来说它用的全都是这个pro的这个关键字啊,就通过process pass去代理到我们期期望这个访问的上游服务器。那么正向代理跟反向代理对比起来,呃,其实主要是在应用场景上不同,反向代理呢,比较好理解,就是我们做集群需要用户在访问我的集群内部的机器的时候,呃,让他无感知的能够访问到我的内网的这个服务,而不需要在内网上去配置一些额外的这种外网的这种访问的,呃,这些配置啊,它直接能请求得到,通过这个pro pass这个关键字呢,也可以配合upstream来使用,达到这个负载均衡的作用。
01:14
那么这个正向代理啊,跟这个反向代理它不一样的点就在于它需要让我们的客户端去感知一下,那比如说有这么一个场景,呃,我们现在呢,有一个,呃,公司那里边有研发团队,那么我们希望我们的研发这些人员呢,在上网的时候,那都得去配置一下代理服务器,那么我是这样就可以去全程监控他平时上班的时候都上了哪些网站了,当然这种方法行为也是比较缺德的啊,但是他能有效的去控制一下,呃,这个。用户的行为对吧?呃,包括这正向代理服务器,其实呃就隐含在我们的这个身边,呃比如说我们现在正在接入互联网,那里边有一个网关,这个网关服务器其实就是个正向代理服务器,它会把我们所有的请求呢,通过这个网关,网关再去转发到这个上游的这个真正的互联网里,也是我们的,呃,家里的宽带手机的这个,呃,互联网的接入都会有一个网关的配置,那这其实它也是正常代理服务器。
02:16
啊,再有就是呃,我们成群,比如说在嗯公司办公的时候,我可以连到我的这个测试机,对吧?啊还有一些这个内网的一些服务器,那如果他要回家办公了呢,比如现在疫情期间,我们很多这个呃公司呢,都在家里边办公,居家办公了。那想要连内网的服务器的话,这怎么连?这会呢,它也就是一个问题,如果这我把它配置成返向代理服务器的话,那是不是几乎所有的这个呃互联网用户都可以访问得到了,对吧,那这会儿我就其实可以呃给他换一种思路,我给他提供正向代理,让这个呃居家办公的同志呢啊,在自己的这个机器上配置一个代理服务器啊配置完代理服务器之后,通过这个代理服务器再去连接到呃我内网这些机器。
03:04
啊,这也是这个这样代理能用的这么一个方式,但是啊,在咱们正式讲这这样代理配置之前啊,再跟大家多说一点,不管是哪种需求,现在呢,都已经有极为成熟的解决方案了啊,你不管是做这个呃跳板机,还是去监控这个用户的行为行为,这都有非常成熟的解决方案,比如要做跳板机的话,有很多这种呃成熟的产品和软件可以拿过来用。监控网络行为呢,其实在路由器里边呃,就可以做到了,对吧,可以直接屏蔽掉他去这个上网访问的一些站点,呃,然后再有就是。有同学可能想要去,呃,通过这个NG这个正常代理服务器去访问一些这个呃。有一些这个网络分段的这种资源啊,那其实它也是有这种解决方案,也非常成熟,像什么shadow等等这些。呃,这是正式代理的一些应用场景啊,总的来说,呃,之所以网上的这些资源或者介绍的不多,主要也就是因为用的太少了,没必要去用NG去做这个正式代理。
04:07
那么为了打消大家的这个学习的顾虑啊,给大家简单的去配置一下这个NG专用代理服务器,应该怎么去配?那在这呢,我们还是用我线上的这台机器。因为这样演示起来呢,比较直观啊,我们先去改一下它的配置文件。能找到。User。Local。恩格斯。这个配置文件。我们在配置正常代理的时候啊,还是一样,我们需要一个站点,呃,这个站点呢,现在是八零的对吧?啊,我们我已经把那个。呃,之前咱们配配的那些配置呢,我们用的就给它删了,这样看起来更干净一些。那在这想要配置这个正向代理服务器的话啊,其实很简单啊,在这。
05:01
我们首先干的第一件事呢,就是这个process。呃,原来是直接指向到root下对吧,然后在这儿呢,不让它直接访问root目录了,Process pass,在process pass的过程当中,这儿注意看啊,这有一个Dollar s格码啊,这是你所访问的协议,它连协议呢都可以作为变量去向这个上游服务器传递啊,你想要访问的是HTTP协议还是HTPS协议,或者什么FTP协议,在这呢也都可以,尤其是我们有时候上一些,呃,这些这个这个这个这个。呃,有直播的这些网站的时候,它有可能不是HTTP的啊,但大部分ttp的,然后这个host request uri把它全都拼接到一起,这就相当于我们访问这个目标这个站点的完整的,呃,这个URL。呃,这个正向代理服务器怎么用呢?他要配置一下啊,在客户端啊,是这个样子的。嗯,你看这是我们的这个客户端机器,然后比如说想要访问内网的一个呃站点啊,不管是HTP协议或者什么其他协议的,现在呢,我们把这个sIgMa啊作为这个变量了,不只是能够访问HTTP的,那在中间的这个NG个做正向代理的时候。
06:15
他的请求,比如说十点啊,十点什么1.2.3吧啊,咱举个例子,这是一个内网的IP,你正常是访问不到我内网这台机器的,对不对,那如果想要让它访问的话。在这儿呢?呃,需要代理对吧,代理我们的这个客户端的请求,那你是请求的是什么协议,HTTP的冒号双斜杠,那就这个URL。那么把这个HTTP也作为这个,大家也看啊,也作为这个可变的变量啊,给它传递进去吧,然后这个host host就是这个,呃,我们这个IP地址,但是这也可以是域名,如果你加上域名的话,如果你要用域名啊,在这儿呢,可以去配置一下DNS服务器的地址,这个DNS服务器的地址呢,呃,是谷歌给我们提供的。
07:04
呃,它主要是用来让NG去解析域名的,因为NG想要去up,这个不是想要process的话,如果这你给了一个域名的话。啊,它也是没法访问的,他要把域名转换成IP地址,所以在这呢。我们配置一个DNS服务器,通过这DNS服务器去解析这个IP,然后request u uri,这是这后边跟的,那比如说这个爱的user。把这个也跟上,这就是一个完整的这个呃,URL通过这个pro pass pass到你的这个目标的机器上,这就是它的基本工作原理,那么配置呢,随这个随着呢,我们也给它给配置完了,接下来保存,然后。重启一下一台机器。重启完了接下来啊,呃,你看啊,你想要用这个专项代理服务器的话,怎么用,如果我现在直接访问的话,你看它会发生啥。
08:06
你看报错了对吧,如果你打开的这个错误日志,它的错误日志在这啊。H。Logs,这有arrow.log,如果你打开看它的话,它大概意思就是你想要这个pro的地址,其实就是你你现在输入这个地址对吧,你自己去代理自己,然后呢,代理过去之后还是代理这代理这样进入了一个无限的死循环,进入黑洞了,那这N这的代码写的也是比较健壮的,一旦发现这种递归的调用的话,直接给你终止掉了,大致就是这个意思。那么怎么去用它呢?我们可以这样在。咱们的这个浏览器上啊。我们可以去配置一个代理服务器。这是Chrome啊,他在。在高级里。系统这儿啊,打开计算机的代理设置,在这儿可以配置一个代理服务器。
09:05
我们把这个,呃,我们当前那台机这个服务器的IP地址给它给贴上。然后端口号不要写这个协议了啊。端口号是八零。然后这是内网的这个IP啊,就不不在内网里边使用代理,然后保存,然后现在正打开了,对吧,然后接下来呢,我们通过这个去访问一下这个另外一个站点,比如说百度。诶,大家看。呃,它提示无法连接对吧?啊。这会呢,其实就已经有变化了,说明我这代理服务器呢已经起作用了,那如果我们这会换一个,换成这个上硅谷,咱们对自己的这个站点艾特硅谷点。com大家看。诶,这个是可以访问的,但是百度没法访问。
10:01
这是代理服务器已经起到作用了,那这里边儿的问题就在于大家看啊,我们访问这个上硅谷的官方网站的时候,这是HTTP协议,现在访问的这个百度啊,它是HTTPS协议,但是这HTTP协议呢,其实是可以访问的。啊,只是这HTTP呢,访问HTP的时候,他给我返回了一个302啊,给我们去re到这个啊HTPS这个站点上了。这是为啥它访问不了。你看这是3W不带HTTPS的啊,只是普通的这个HTP协议,这样就可以访问,比如123我们搜一下。对吧,然后我们看看IP。诶,大家看180开头的237.75,这就是我们当前这台服务器的IP吧,对吧,这是不是对上了237.75对吧,这不是我当前的本机的IP,说明现在这个代理服务器它已经生效了,然后额外的呢,如果你想要让他去连接这个HTTPS服务器的话。
11:11
那么可以这个呃,借助第三方的模块,让他去建立HTPS连接,因为HTPS它是呃这个双向的呃这种加密的方式去传输的数据,然后中间呢,还有证书的参与,那么在这个过程当中呢,它的这个呃解析呢,就会相对来说比较复杂,默认的这个呃,咱们的NNG的开源版里呢,并没有实现那么复杂的这个网络连接,所以需要一个第三方的模块。这第三方模块呢,是这个叫NG X htp process connect module,如果你有兴趣的话,你可以把它下载下来,然后配置到自己的一个正向代理服务器上,这就是正向代理服务器我们怎么用?那总的来说一嗯,我们如果要是在企业里边想要实现这个跳板机,让他来访问内网资源的话。基本上也不会去使用这个NG作为正向代理服务器啊,有很有这个,呃,一旦你要是有这种需求,这种场景的话,那你一定能找到成熟的产品去替代它使用的这个,嗯,并不多啊啊。
12:14
好,那我们简单的给大家介绍一下就可以了,如果要是有需要的话,你再去深入研究啊,作为抛砖引玉啊。
我来说两句