接触nginx时,了解到了反向代理,对于反向代理为什么要叫反向有些疑问,然后开始了解了下正向代理与反向代理,对于疑惑有了一定解答。
正向代理是指客户端通过设置一个代理,来访问目标服务器,它是介于客户端和目的服务端之间的一个桥梁。它需要在客户端设定,并且需要指定代理的ip和端口号。
通过正向代理可以实现:
1)访问原来不能访问的网站,如google;
2)作为缓存,加速访问资源速度;
3)对客户端访问授权,进行上网认证,可实现对客户集群的管理;
4)可对外隐藏用户信息;
5)可记录用户的访问记录,进行一些问题的追查。
而反向代理是服务端设置的代理,通过设置代理服务器,服务端以代理服务器接受用户请求,并将用户请求转发给内部服务器,内部服务器将请求结果返回给代理服务器,代理服务器再将获取的请求结果返回贵客户端。代理服务器对外表现就是一个服务器,他是由目标服务器设定的代理,用户不需任何设置,因此用户并不能感受到反向代理的存在。
通过反向代理,服务端可以实现服务端网络安全以及服务负载均衡等方面的策略。nginx就是通过设置反向代理来实现网络服务的负载均衡。
总之,正向代理代理客户端,反向代理代理服务端。正向代理是代理内网client访问外网server,是由内而外而反向代理是将外部client的请求forword到内网server中,是由外而内。正向代理隐藏真实客户端,反向代理隐藏真实服务端。