图片 7

正向代理与反向代理

nginx反向代理与正向代理

我只知道有代理这个概念,并不清楚代理还有正向和反向之分,于是赶紧学习一下,补充一下知识。首先弄清楚什么是正向代理,什么是反向代理,然后是二者在实际使用中展示的方式是什么样的,最后总结一下正向代理用来做什么,反向代理可以做什么。

1 正向代理

正向代理: 原因是 客户端 ---X--- 网站,客户端不能直接访问某个网站
         解决:  客户端 ----> 代理服务器(发起访问请求) ---->  某个想要访问的网站
               客户端 <---- 代理服务器(响应的内容) <----  某个想要访问的网站
结论:  正向代理实质就是位于客户端(client)与初始服务器(origin server)之间的服务器,为从原始服             务器获取内容  ,客户端向一个可以访问的代理服务器发起自己的请求并指向目标网站服务器,然后代理服务       器转交请求并将获取的内容返回给客户端.因此客户端必须进行一些特别的设置才能使用正向代理.

正向代理的配置:
1 客户端必须设置正向代理服务器,前提是要知道正向代理服务器的IP地址,还有代理程序的端口。
2 http://www.ccproxy.com/ 下载一个CCproxy,需要在浏览器中配置代理服务器地址
3 选择Internet选项,选择连接 局域网设置LAN(设置) 
4 选择跳过本地地址代理服务器,在高级中设置代理服务器IP及端口

下面这个图说的挺清楚的。

2 反向代理

反向代理: 客户端是无感知代理的存在的,反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。因为        客户端不需要任何配置就可以访问。

原因是:
客户端---->某网站资源http://like.me/good [实质上服务器并不存在good页面实际内容,但客户不知情]
于是乎某网站http://like.me(发起请求)----->向另一台存有good页面实际内容服务器[响应实际的页面内容]
----->返回响应给某网站http://like.me -----> 响应出页面内容给客户
整个过程客户端以为只以为内容是该网站的,但实际上该网站服务器也是转发的

结论:  反向代理与正向代理恰好相反, 对于客户端而言该服务器就像原始服务器,因为客户端不需要进行任何的设置就能使用,客户端向反向代理命名空间发起网络请求,实际上反向代理立马转发☞原始服务器,原始服务器将响应内容传递给反向代理服务器,再由服务器发给客户端.就好像内容是自己的一样.

图片 1

3 正反向代理的区别

正向代理用途:
1 为在防火墙内的局域网客户端提供访问Internet的途径,如google网站
2 可以做缓存,加速访问资源
3 对客户端访问授权,上网进行认证
4 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理用途:
1  保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。 

2  负载均衡,通过反向代理服务器来优化网站的负载,反向代理服务器根据每个服务器的性能来分配请求,保证服务器的负载能在有效的范围内

3  正向代理中,代理服务器proxy与client同属于一个LAN局域网,对server透明
   反向代理中,代理服务器proxy与server同属一个LAN局域网,对client透明

图片 2

image.png

4 nginx的正向代理

    nginx接受来自客户端的大量访问进行平均分发到后端多个服务器进行处理,单个nginx服务器可支持过万的并发量,很好的解决高并发的web类访问,同时通过nginx服务可以做到内网与外网的物理隔离.

nginx服务器配置:
1 Nginx server:(例如: 内网地址:10.0.0.136,外网地址:172.16.27.64)
2 使用VirtualBox Manager虚拟出双网卡,ifconfig查看ip
3 cat zxproxy.conf进行编辑

图片 3

nginx-clicent配置:
1 client无法访问内网网卡,通过nginx server去访问internet
2 export http_proxy=http://10.0.0.136:80 #设定环境变量,指定代理服务器的ip及端口 
3 在进行访问就可以通过代理服务器了

图片 4

nginx的反向代理

nginx支持配置反向代理,通过反向代理实现网站的负载均衡。这部分先写一个nginx的配置,后续需要深入研究nginx的代理模块和负载均衡模块。

nginx通过proxy_pass_http 配置代理站点,upstream实现负载均衡

图片 5

image.png

你理解了吗?

5 nginx的反向代理配置

nginx支持配置反向代理,通过反向代理实现网站的负载均衡,负载均衡服务器代理多台服务器,更注重均衡转发功能.

1 配置文件复制一份zxproxy.conf
2 cat fxproxy.conf   修改配置文件

图片 6

代理多个web服务器:

图片 7

参考文章 : https://blog.csdn.net/hiyun9/article/details/51602428
非常感谢