IT修真院·小课堂丨互联网职业小课堂在线学习平台

课堂课题:

什么叫反向代理?为什么要使用反向代理?

关联任务:

任务五

直播时间:

2019-05-15 15:30:00


课堂内容:

视频链接:

PPT链接:

提交按钮:

小课堂内容格式


标题:

【修真院xx(职业)小课堂】课题名称

开场语:

大家好,我是IT修真院XX分院第X期的学员XX,一枚正直纯洁善良的XX程序员,今天给大家分享一下,修真院官网XX(职业)任务X,深度思考中的知识点——XXX

(1)背景介绍:

背景介绍的时候,尽可能的要宽广,讲清楚来龙去脉,讲清楚为什么会需要这个技术。

(2)知识剖析:

讲知识点的时候,尽可能的成体系,学会成体系的去给别人介绍知识。现在很多做的都是零散的,没有分类。

(3)常见问题:

最少列出1个常见问题。

(4)解决方案:

写清楚常见问题的解决方案。

(5)编码实战:

尽可能的去寻找在真实项目中在用的。如果你能找到某个网站在用你说的知识点,这是最好的。学以致用,否则当成练习题就没有意义了。多准备一些demo,讲解过程中将知识点和demo结合,便于大家理解所讲解的知识点。

(6)拓展思考:

知识点之外的拓展思考,由分享人进行讲解,这些东西就是所谓的深度,也是一个人技术水准高低比较的表现。

(7)参考文献:

引入参加文献的时候,在引用的句子后面加上序号【1】。参考文献中列出详细来源。不要去抄别人的东西,这是一个基本的态度。

(8)更多讨论:

Q1:提问人:问题?
A1:回答人(可以是分享人,也可以是其他学员):回答
Q2:提问人:问题?
A2:回答人(可以是分享人,也可以是其他学员):回答
Q3:提问人:问题?
A3:回答人(可以是分享人,也可以是其他学员):回答

(9)鸣谢:

感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。

(10)结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

什么叫反向代理?为什么要使用反向代理?     中品

辅导师兄


标题:


什么叫反向代理?为什么要使用反向代理?

开场语:


大家好,我是IT修真院上海分院第13期的学员徐元祥,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java(职业)任务2,深度思考中的知识点——什么叫反向代理?为什么要使用反向代理?


(1)背景介绍:


在讲反向代理前,先了解下正向代理,举个栗子,某位同学需要要去谷歌查找资料,但是谷歌被墙了,怎么办呢,这个时候就是要用到正向代理了,这位同学通过上国外的代理服务器,让代理服务器代理自己去向谷歌请求,谷歌返回请求的数据,通过代理服务器转交给这位同学,这就实现了科学上网。vpn就是一个正向代理的栗子,其中的代理服务器扮演一个重要的角色,帮助这位同学去请求谷歌,而谷歌并不知道代理服务器后是谁。


反向代理,则和正向代理不同,将正向代理的代理服务器调换一下角色,转换成帮助服务器端隐藏身份,就变成了某同学上网站,通过代理服务器能够访问到许多的资源,而不知道这些资源来自那些服务器。


(2)知识剖析:


1.反向代理是什么?


反向代理是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器集群在哪里


反向代理代理了真实的服务端,需要一个代理服务器(负载均衡设备)来分发用户请求,其中就有Nginx、Tengine、Apache HTTP Server、Varnish cache等等。


2、为什么要使用反向代理?


反向代理的主要作用:


①对客户端隐藏真实的服务器(集群)的ip地址


②安全:作为应用层防火墙,为网站提供对基于web的攻击行为的防护,更容易排查恶意软件等,


③为后端服务器(集群)统一提供加密和SSL加速等




④负载均衡,如果服务器集群中有负荷较高的服务器,可通过url重写,根据连线请求从负荷较低的服务器获取所需的相同资源


⑤对于静态内容及短时间有大量访问请求的动态内容提供缓存服务。


⑥对一些内容进行压缩,以节约带宽或为网络带宽不佳的网络提供服务


⑦减速上传


⑧为在私有网络下的服务器集群提供NAT穿透及外网发布服务


⑨提供HTTP访问认证




Nginx服务器


Nginx是一款轻量级的web反向代理服务器及电子邮件代理服务器,由伊戈尔·塞索耶夫创建并于2004年首次公开发布。


Nginx强大的并发能力,在官方的测试中,能够支持五万个并行连接。


特点具有运行资源少,稳定性高,整体采用模块化设计,有丰富的模块库及第三方模块库。


(3)常见问题:


正向代理与反向代理的区别


正向代理代理的是客户端


反向代理代理的是服务器端


(4)解决方案:


写清楚常见问题的解决方案。


(5)编码实战:


upstream mysvr{


server 47.102.106.87:8080 weight=3;


server 47.102.106.87:8082 weight=2;


server 127.0.0.1:8084 weight=2;}


server{


listen 80;


server_name 47.102.106.87;


location /{


proxy_pass http://mysvr;}}


(6)拓展思考:


反向代理是结合DNS的一类延伸应用


那么DNS是什么?


DNS叫做域名系统,是互联网的一项服务,作为将域名和ip地址相互映射的一个分布式数据库,能够使人更方便地访问互联网


早期的域名必须以英文句号结尾,这样DNS才能够进行域名解析,如今DNS服务器已经可以自动补上结尾的句号。


DNS查询有两种方式:递归和迭代。DNS客户端设置使用的DNS服务器一般是递归服务器,而DNS服务器之间一般采用迭代查询方式


(7)参考文献:


https://www.zhihu.com/question/24723688


https://zh.wikipedia.org/wiki/反向代理


https://mp.weixin.qq.com/s/dHNZeG_-4BmR1nj1zZjrog


https://zh.wikipedia.org/wiki/Nginx


https://zh.wikipedia.org/wiki/域名系统


https://www.zhihu.com/question/22610352


(9)鸣谢:


感谢蔡凯师兄,此教程是在他们之前技术分享的基础上完善而成。


(10)结束语:


今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~


评论

[上海|]JAVA- 发表于 2019-05-22 19:38:11 #1

第一次小课堂还是讲的不错的

回复

请您登录 后进行评论