正向代理:
举例:
我访问不了某网站,但是我能访问一个代理服务器,这个代理服务能访问我不能访问的网站,于是我连上代理服务,告诉他我要访问的那个网站内容,代理服务器取回来返回给我。
用途:
1.访问原来无法访问的资源如google
2.可以做缓存,加速访问资源
3.代理可以记录用户访问记录,也可以带外隐藏用户信息。
反向代理:
以代理服务器接收internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器得到的结构返回给internet上请求连接的客户端。
用途:
1.保证内网安全,组织web攻击
通常反向代理作为公网访问地址,web服务器内网。
2.负载均衡
反向代理服务决定由那头服务器提供服务 以实现网站的负载均衡
nginx配置负载均衡:
upstream tomcat2 {
server 192.168.25.128:8081;
server 192.168.25.128:8082;
}
默认的负载均衡策略是轮询方式。
可以根据实际情况调整服务器权重。权重高分配的请求越多,默认是1.
upstream tomcat2 {
server 192.168.25.128:8081;
server 192.168.25.128:8082 weight=2;
}
负载均衡策略:轮询,权重,通过ip地址或者url或者其他计算hash值再取模,随机策略(Dubbo),最少连接数,加权最少连接数,最短响应时间、一致性Hash(环,物理节点拥有虚拟节点分布均匀)。
nginx的高可用:
因为nginx作为负载均衡器,所以请求都到了nginx可见nginx处于非常重点的位置,如果nginx宕机,那么影响严重,所以需要一个备份机。主和备都运行高可用 监控程序,通过心跳测试监控。当备一定时间收不到回应,就接管主继续提供负载均衡服务,当又收到回应,主再次提供负载均衡服务。
可以用 keepalived+nginx实现主备
对外提供虚拟ip(vip),内部有主和备,主备间心跳,选择由主/备提供服务。