Nginx的反向代理

反向代理(reverse proxy) 方式是指用代理服务器来接受Internet上的连接请求, 然后将请求转发给内部网络中的上游服务器, 并将从上游服务器上得到的结果返回给Internet上请求连接的客户端, 此时代理服务器对外的表现就是一个Web服务器。 充当反向代理服务器也是Nginx的一种常见用法(反向代理服务器必须能够处理大量并发请求) , 本节将介绍Nginx作为HTTP反向代理服务器的基本用法。

 

Nginx的反向代理

 

 

当客户端发来HTTP请求时, Nginx并不会立刻转发到上游服务器, 而是先把用户的请求(包括HTTP包体) 完整地接收到Nginx所在服务器的硬盘或者内存中, 然后再向上游服务器发起连接, 把缓存的客户端请求转发到上游服务器。 而Squid等代理服务器则采用一边接收客户端请求, 一边转发到上游服务器的方式。

 

所以,Nginx相对于Squid服务器的优缺点:

        优点: 降低了上游服务器的负载, 尽量把压力放在Nginx服务器上。

        缺点: 延长了一个请求的处理时间,并增加了用于缓存请求内容的内存和磁盘空间。

 

Nginx的反向代理