正向代理 VS 反向代理 原理详解

1、前言

  最近工作中用到反向代理,发现网络代理的玩法还真不少,网络背后有很多需要去学习。而在此之前仅仅使用了过代理软件,曾经为了访问google,使用了代理软件,需要在浏览器中配置代理的地址。我只知道有代理这个概念,并不清楚代理还有正向和反向之分,于是赶紧学习一下,补充一下知识。首先弄清楚什么是正向代理,什么是反向代理,然后是二者在实际使用中展示的方式是什么样的,最后总结一下正向代理用来做什么,反向代理可以做什么。

2、正向代理

  正向代理类似一个跳板机,代理访问外部资源。

举个例子:

  我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。

  客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。

  例如之前使用过这类软件例如CCproxy,http://www.ccproxy.com/ 需要在浏览器中配置代理的地址。

 

  总结来说:正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

  正向代理的用途:

  (1)访问原来无法访问的资源,如google

       (2) 可以做缓存,加速访问资源

  (3)对客户端访问授权,上网进行认证

  (4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

例如CCProxy用途:

3、反向代理

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

  反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理的作用:

(1)保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击

大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。

 

(2)负载均衡,通过反向代理服务器来优化网站的负载

4、二者区别

借用知乎两张图来表达:https://www.zhihu.com/question/24723688

5、nginx的反向代理

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

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

参考资料:

http://z00w00.blog.51cto.com/515114/1031287

http://blog.csdn.net/m13666368773/article/details/8060481

冷静思考,勇敢面对,把握未来!
反向代理正向代理的配置步骤和配置详解如下: 反向代理配置步骤: 1. 安装和配置nginx服务器。 2. 在nginx的配置文件中,添加反向代理的配置块。 3. 在反向代理的配置块中,设置代理的目标服务器地址和端口。 4. 配置其他相关参数,如负载均衡算法、缓存设置等。 5. 保存配置文件并重新加载nginx服务器。 反向代理配置详解反向代理的配置主要包括以下几个方面: 1. 反向代理的对象是服务端,客户端并不知道真正的服务端是谁。通过反向代理,客户端的请求会被转发到后端的真实服务器上,而客户端并不知道这个过程。 2. 在nginx的配置文件中,可以使用`proxy_pass`指令来设置代理的目标服务器地址和端口。例如,`proxy_pass http://backend_server;`表示将请求转发到名为`backend_server`的后端服务器。 3. 可以通过配置`proxy_set_header`指令来设置请求头信息,如`Host`、`X-Real-IP`等。这些请求头信息可以在后端服务器中使用。 4. 可以配置负载均衡算法,如轮询、IP哈希等,来实现请求的分发和负载均衡。 5. 可以配置缓存来提高性能,如设置缓存的有效期、缓存的大小等。 正向代理配置步骤: 1. 安装和配置nginx服务器。 2. 在nginx的配置文件中,添加正向代理的配置块。 3. 在正向代理的配置块中,设置代理的目标服务器地址和端口。 4. 配置其他相关参数,如缓存设置、访问控制等。 5. 保存配置文件并重新加载nginx服务器。 正向代理配置详解正向代理的配置与反向代理类似,主要包括以下几个方面: 1. 正向代理的对象是客户端,客户端通过正向代理服务器来访问外部资源。 2. 在nginx的配置文件中,可以使用`proxy_pass`指令来设置代理的目标服务器地址和端口。例如,`proxy_pass http://external_server;`表示将客户端的请求转发到名为`external_server`的外部服务器。 3. 可以配置缓存来提高性能,如设置缓存的有效期、缓存的大小等。 4. 可以配置访问控制,如限制访问的IP地址、设置访问密码等。 以上是关于nginx反向代理正向代理的配置步骤和配置详解。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [Nginx安装配置详解 + 反向代理部署 + 搭建NFS共享存储](https://blog.csdn.net/m0_37714245/article/details/81809007)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [nginx反向代理原理及配置详解](https://blog.csdn.net/weixin_39830303/article/details/111780184)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Nginx 反向代理详解](https://blog.csdn.net/weixin_52622200/article/details/120979966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值