乐趣区

Nginx之正向代理与反向代理的理解

nginx 的一大用处是进行反向代理来完成完成负载均衡。那么有反向代理,就有正向代理。来看看他们的区别

正向代理


图解:
用户 (客户端)去饭店吃饭(发送一个请求),用户要吃的是小龙虾(请求),可是你不能自己做,那么就需要让 大厨 (服务端)给你做,可是去了饭店,大厨是在后台的,你也不能直接去告诉大厨,因为你没有权限(服务端在后台)这时候就需要服务员(代理)来帮忙告诉说某某某客户(客户端)要一份 10 斤小龙虾(请求 / 访问资源)大厨(服务端)收到给做好然后交给 服务员(代理)服务员拿到小龙虾(资源 / 响应)给客户(用户端)送回来。

反向代理

图解:
用户 (客户端)去饭店要小龙虾(请求), 服务员 (代理)收到这个请求发现大厨做不了这个小龙虾,可是又需要挣钱,这怎么办呢?服务员这么一想,隔壁那家饭店可以做,而我也和那家 大厨(另一个服务端)有交集,那我去让另一家大厨给做怎么样?好。于是服务员就去告诉另一家大厨说你帮我做一个小龙虾(请求)吧,隔壁大厨说好呀,可以。就做好交给服务员。那么这个时候,这个服务员(反向代理)就成为了反向代理,因为他去调用别的服务端。这个时候我们(客户端)通常来说是没必要知道这小龙虾怎么来的,只要有就好。

注意点:
那这个服务员是谁都可以当的吗?肯定不可以呀,所以这个服务员(代理)需要在饭店任职(配置)之后才可以。也就是代理需要配置。

那么反向代理需要吗?答案是不需要的,自己思考就会明白。

那么反向代理的优点就体现出来了,我不需要配置,而且我不仅只能在一家调用请求,我可以向多个服务端去发出请求。而且反向代理还可以向多台后端服务器进行负载平衡。

退出移动版