nginx反向代理

来源:互联网 发布:psp游戏王arcv最新数据 编辑:程序博客网 时间:2024/05/22 03:15

我们常说的代理是正向代理。使用正向代理的过程如下:

1,客户端连接代理。

2,代理连接服务器。

3,服务器将结果发给代理。

4,代理将结果发给客户端。

反向代理的过程如下:

1,客户端连接服务器,其实连接的是反向代理服务器,但是客户端不知道。

2,反向代理将请求转发给相应的服务器。

3,服务器将结果发给反向代理。

4,方向代理将结果发给客户端。

流程基本一样,主要是反向代理是和服务器部署在一起,如nginx,haproxy,但客户端不知道反向代理的存在。反向代理知道服务器集群的情况,知道怎么转发请求给具体的服务器。而正向代理只能转发给相应的域名对应的服务器。反向代理因为和服务器部署在一起,所以可以用来做负载均衡,对客户端请求进行各种处理(如统计连接数,拒绝连接等)等等。

主要记住,反向代理是和服务器集群在一起的,并且知道集群的内部情况。




看完这么多人的,来说下我的想法,用访问百度来比喻一下。
如果想用正向代理的方式访问百度的话,那我们得这样做:
1、自己搭一个或者找一个代理服务器
2、将上一步得到的代理服务器,在系统中设置好,windows中是这样设置的
<img src="https://pic2.zhimg.com/50/v2-09447fdd2e480b17168d7c92b7c2b389_hd.jpg" data-rawwidth="461" data-rawheight="435" class="origin_image zh-lightbox-thumb" width="461" data-original="https://pic2.zhimg.com/v2-09447fdd2e480b17168d7c92b7c2b389_r.jpg">127.0.0.1是我的代理服务器的ip,8888是我的代理服务器的端口。

127.0.0.1是我的代理服务器的ip,8888是我的代理服务器的端口。
3、然后访问baidu.com,这样的话代理服务器就会开始工作了,首先你访问百度的请求会发送到代理服务器上,然后代理服务器就会听你的话,去baidu.com把东西给拿回来,然后放在自己的服务器上面,之后你就从代理服务器上拿走,返回给自己电脑。
这里的要点是:
客户端没有直接和服务端(baidu.com)接触,而是通过代理服务器(127.0.0.1:8888)间接访问,数据也是从代理服务器上直接拿的。

而使用反向代理访问baidu.com的话,我们本地根本就不用配置,因为啊,这个反向代理其实是服务器端的配置。而且其实我们一直都是用反向代理访问大多数网站的。
我们访问的baidu.com,然后从这个服务器拿到的资源,其实可能这些资源并不是从这个服务器里拿出来的,而是这个服务器作为反向代理,从别的服务器拿过来的。
你以为你是这样访问百度的
<img src="https://pic1.zhimg.com/50/v2-8b39ecf03c72f6b30cf4fd3e25aa5150_hd.jpg" data-rawwidth="730" data-rawheight="192" class="origin_image zh-lightbox-thumb" width="730" data-original="https://pic1.zhimg.com/v2-8b39ecf03c72f6b30cf4fd3e25aa5150_r.jpg">而实际上你是这么访问百度的而实际上你是这么访问百度的
<img src="https://pic3.zhimg.com/50/v2-3ef0905e6342500107ce72c2de7b254a_hd.jpg" data-rawwidth="1031" data-rawheight="374" class="origin_image zh-lightbox-thumb" width="1031" data-original="https://pic3.zhimg.com/v2-3ef0905e6342500107ce72c2de7b254a_r.jpg">所以我们用反向代理,这个反向代理就相当于一个统筹资源的作用所以我们用反向代理,这个反向代理就相当于一个统筹资源的作用


原创粉丝点击