nginx 反向代理 简介

nginx 是一个高性能的web服务器,由俄罗斯程序员开发

先要理清几个概念

反向代理:比如我们打开一个淘宝/百度页面,你不会指定访问网站哪一台服务器,你是通过一个反向代理服务,它去为你转发请求给后台服务器,然后将数据返回用户,对用户来说相当于从直接于代理服务器交互,用户并不知他访问的仅仅是一个代理服务器。

代理(正向代理):通过一个代理服务器访问网站(一般是不能直接访问,比如银行内部访问外部网络不能直接访问,需要穿越防火墙,需要通过在请求中设置,告诉代理服务器我要请求哪个网站,然后代理服务器取得数据后响应给我,而被访问的网站并不知道用户身份,再比如 翻墙。。。。。)正向代理允许客户通过代理服务器穿越防火墙访问任何网站,因此必须进行授权管理(比如一些科研机构内网可以直接访问谷歌。。。。而你不行)

负载均衡:基于反向代理,比如后台有多台服务器同时提供访问时,需要通过设置反向代理服务器,转发客户请求,达到后台服务器接收压力均衡分布。通过upstream模块实现一些调度算法,实现request 到后端的负载均衡

有四种分配策略

1.轮询(默认) 可以通过weight  设置权限

2.ip_hash :顾名思义根据请求的ip地址的hashcode值分配,这样导致对于每个用户的请求,只会去同一个后台服务器,不存在session共享的问题

3.fair:根据后端服务器的响应时间来分配,优先前往时间最短的服务器

4.url_hash:根据url的hashcode分配,相同的url前往同一个服务器,提高了缓存命中


upstream模块中可以通过server指令设置每个后端服务器的调度算法及状态

    down: 该服务器不参与负载均衡

    backup :留作备份(其他服务器故障时才会请求该服务器)

    max_fails:最大失败次数

    fail_timeout:达到最大失败次数时,暂停服务的时间


    

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xsf1840/article/details/79964947
个人分类: 中间件技术
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭