Nginx的反向代理:
反向代理指以代理服务器接受Internet上的连接请求, 然后将请求转发给内部网络上的服务器, 并将从服务器上得到的结果返回给Internet上请求连接到客户端, 此时代理服务器对外就表现为一个服务器, 而此种工作模式类似于LVS-NET模型
反向代理也可以理解为web服务器加速, 它是一种通过在繁忙的web服务器和外部网络之间增加的一个高速web缓冲服务器, 用来降低实际的web服务器的负载一种技术. 反向代理是针对web服务器提高加速功能, 所有外部网络要访问服务器时的所有请求都要通过它, 这样反向代理服务器负责接收客户端的请求, 然后到源服务器上获取内容, 把内容返回给用户, 并把内容保存在本地, 以便日后再收到同样的信息请求时, 他会将本地缓存里的内容直接发送给用户, 减少后端web服务器的压力, 提高响应速度. 因此Nginx还具有缓存功能
反向代理的好处:
1. 解决了网站服务器对外可见的问题, 提高了网站服务器的安全性
2. 节约了有限的IP地址资源, 后端服务器均可使用私有IP地址与代理服务器进行通信
3. 加速了网站的访问速度, 减轻了真实web服务器的负荷
反向代理的工作流程:
1. 用户通过域名发出访问请求, 该域名被解析为反向代理服务器的IP地址
2. 反向代理服务器接受用户的请求
3. 反向代理服务器在本地缓存查找是否存在当前用户所请求的内容, 找到则直接把内容返回给用户
4. 如果本地没有用户请求的内容, 反向代服务器会以自己的身份去后端服务器请求同样的信息内容, 并把信息内容发给用户, 如果信息内容是可以被缓存的, 则会将该内容缓存在代理服务器的本地缓存中