正向和反向代理服务器

Posted 北九南二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正向和反向代理服务器相关的知识,希望对你有一定的参考价值。

一、代理服务器介绍

代理服务器是介于浏览器和Web服务器之间的一台服务器,功能是代理用户去取得网络信息。网络信息则是通过代理服务器进程中转的。

代理服务器在OSI模型的对话层,从而起到防护墙的作用,代理服务器大多被用来连接国际互联网和企业内部局域网。

国际互联网是采用正向代理,企业内部局域网是采用反向代理。

代理服务器就像一个中转站,存在于客户端和服务器之间。


当客户端向服务器发送一个请求时,代理服务器就会先得到这个请求,如果此时代理服务器已经存在客户端所要的资源,那么此时代理服务器就会将客户端所要的资源返回,如果没有,就会向服务器中查找,然后服务器将资源返回到代理服务器,代理服务器将资源缓存到本地,再将资源给客户端。


那么,代理服务器的角色是什么呢?

对于客户端来说,代理服务器扮演的是服务器的角色,客户端向代理服务器请求资源,代理服务器返回资源。

对于服务器来说,代理服务器扮演的是客户端的角色,将客户端的请求报文转发给目标服务器。


二、代理服务器的种类

  • FTP代理服务器:主要用于访问FTP服务器,一般有上传、下载、缓存的功能。端口号一般为21、2121等

  • HTTP代理服务器:主要用于访问网页,一般有内容过滤和缓存功能。端口号一般为80、8080、3128.

  • SSL/TLS代理:主要用于访问加密网站,一般有SSL或TLS加密功能,最高支持128位加密强度。端口号一般为443.

  • TSP代理:主要用于Realplayer访问Real流媒体服务器,一把有缓存功能。端口号一般为554.

  • Telnet代理:主要用于telnet远程控制,黑客入侵计算机时常用于隐藏身份。端口号一般为23.

  • SOCKS代理:单纯传递数据包,不关心具体协议和用法,速度快,一般具有缓存功能。端口号为1080.


三、代理技术

3.1 正向代理

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

流程:

1)客户端向代理服务器发送了一个请求并指定目标服务器;

2)代理服务器将客户端的请求提交给目标服务器;

3)服务器将内容按照请求访问时的流程反向返回

举例:

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


总结:

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


正向代理用途:

  • 访问原来无法访问的资源,如google

  • 可以做缓存,加速访问资源

  • 对客户端访问授权,上网进行认证

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


3.1 反向代理

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

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

反向代理的作用:

正向和反向代理服务器

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

正向和反向代理服务器

3.3 正向代理和反向代理区别


正向和反向代理服务器


3.4 nginx的反向代理

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

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

代理服务器的功能

  1. 提高访问速度:代理服务器一般具有一大块缓存区,能缓存用户请求过的信息,节省宽带

  2. 突破下载限制:

  3. 掩藏身份:保护内部的目标服务器安全


参考:

https://www.cnblogs.com/Anker/p/6056540.html

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

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

https://blog.csdn.net/ZWE7616175/article/details/80500753


以上是关于正向和反向代理服务器的主要内容,如果未能解决你的问题,请参考以下文章

正向代理与反向代理,正向代理与反向代理的应用

nginx正向代理和反向代理区别和好处

正向代理和反向代理的区别

正向代理和反向代理

nginx实现正向代理和反向代理

Python学习————正向代理和反向代理