课堂课题:
什么叫反向代理?为什么要使用反向代理?
关联任务:
任务五
直播时间:
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
第一次小课堂还是讲的不错的
回复