—-慢慢来比较快,虚心学技术—-
**

代理

在java中,代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。类似的,服务器的代理作为一种代表和渠道,充当“中介”的角色

被代理角色通过代理访问目标角色完成一些请求,类似于租客通过中介租到房东的房子。

正向代理

被代理角色是客户端客户端**明确知道想要访问的目标服务器的资源地址,通过配置正向代理,将请求经由代理服务器进行目标服务器访问。**客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。

image.png

总结正向代理代理的是客户端,代表客户端发出请求。客户端必须配置正向代理服务器地址和目标服务器地址和端口

典型案例:
VPN翻墙**

反向代理

被代理角色是目标服务器,访问者(客户端)并不知道目标服务器的具体信息,仅通过代理服务器进行访问,甚至不知道代理服务器的存在
image.png
总结反向代理代理的是服务端(目标服务器),代表服务端接收请求。客户端对代理无感知,实际上,反向代理隐藏了服务端的真实信息,有效保证了服务端的安全性

典型案例
:Nginx**

正向代理VS反向代理

①LAN:正向代理服务器与客户端同属同一个LAN,代表客户端发出请求
反向代理服务器与服务端同属同一个LAN,代表服务单接收请求

②信息:正向代理服务器隐藏了客户端信息,保护客户端信息安全
反向代理服务器隐藏了服务端信息,保护服务端信息安全

③用途:正向代理多用于外网转发(翻墙VPN),访问授权上网认证
反向代理多用于负载均衡,保证内网安全

如有贻误,还请评论指正