第一节 nginx基础与安全体系架构

一.nginx作用:
1.反向代理(不暴露真实ip地址),代理服务器,静态服务器(动静分离)
2.集群(减小单台服务器压力)
3.虚拟服务器
4.解决跨域问题,搭建企业级api接口网关
nginx非常好,性能非常好,占内存小,轻量级,抗住同时5W并发连接。
分布式,微服务,高并发,高可用,消息中间件。
二.你们网站的安全体系架构是什么?
1.使用nginx作反向代理,不暴露真实ip地址
2.使用https防止抓包分析http请求
3.搭建企业黑名单和白名单系统
4.模拟请求(csrf) (业务攻击),xss攻击,sql注入,ddos(流量攻击) --让别人无法访问
三.类似nginx反向代理
1.lvs虚拟负载
2.F5硬件负载
3.haproxy
四.在集群会产生什么情况?
1.分布式job幂等性(重复)问题(使用XXLjob分布式任务调度平台)
2.会话共享问题
3.分布式生成全局id
生成订单id 时间戳 订单号怎么解决幂等性问题?
1.提前生成好,存放在redis中。
2.使用分布式锁,多个jvm通信,在同一时刻只有一个jvm生成订单号。
五.搭建集群
配置集群之前先配置反向代理。再去搭建负载均衡配置。
六.负载均衡
好处:提高网站的吞吐量
算法:1.轮询机制(相同机器)
2.权重(比例分配)
3.ip绑定(只让一个ip地址进行访问,解决session共享问题)
4.fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配
5.url_hash(第三方)
配置: upstream backserver{
server 127.0.0.1:8088 weight=2;
server 127.0.0.1:8089 weight=1;
}
location / {
proxy_pass http://backserver;
index index.html index.htm;
}
七.服务器宕机容错机制(高可用)
一主一备或多主多备
使用高可用工具keepalived重启脚本,自动重启,重启N多次还是挂了,发送报警邮箱,给运维人员。
tomcat服务器宕机解决办法:
1.使用keepalived重启服务器脚本
2.nginx配置,集群宕机,自动轮询到下一台服务器
location /{proxy_pass http://backserver;
index index.html index.htm;
proxy_connect_timeout;
proxy_send_timeout ;
proxy_read_timeout;
}
问:发布版本的时候,你们的服务器能访问吗?
答:一主一备,主机发版,备机起作用。备机也要发版本,保证同步。主备都挂了那没办法。
session会失效怎么办?存在redis中,或者持久化到数据库。
八.session共享解决方案
1.使用spring-session+redis解决
2.使用负载均衡策略 ip绑定
3.使用cookie解决 但不安全
4.使用数据库 对数据库有压力
5.tomcat配置session共享
6.token重写session

你可能感兴趣的:(第一节 nginx基础与安全体系架构)