1.什么是ngnix
Nginx是一个高性能web和反向代理服务器。nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2.nginx可以用来做什么
1、反向代理:反向代理(ReverseProxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,简单来说就是真实的服务器不能直接被外部网络访问,想要访问必须通过代理。
2、动静分离:运用Nginx的反向代理功能分发请求:所有动态资源的请求交给应用服务器,而静态资源的请求(例如图片、视频、CSS、JavaScript文件等)则直接由Nginx返回到浏览器,这样能大大减轻应用服务器的压力
3、负载均衡:负载均衡也是 Nginx常用的一个功能,当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。如此以来,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。
nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静分离以及负载均衡,从而大大提高服务器的处理能力。
nginx实现动静分离,其实就是在反向代理的时候,如果是静态资源,就直接从nginx发布的路径去读取,而不需要从后台服务器获取了。
nginx通过upstream模块来实现简单的负载均衡,upstream需要定义在http段内
在upstream段内,定义一个服务器列表,默认的方式是轮询,如果要确定同一个访问者发出的请求总是由同一个后端服务器来处理,可以设置ip_hash,如:
upstream idfsoft.com {
ip_hash;
server 127.0.0.1:9080 weight=5;
server 127.0.0.1:8080 weight=5;
server 127.0.0.1:1111;
}
定义好upstream后,需要在server段内添加如下内容:
server {
location / {
proxy_pass http://idfsoft.com;
}
}
3.负载均衡原理
客户端向反向代理发送请求,接着反向代理根据某种负载机制转发请求至目标服务器(这些服务器都运行着相同的应用),并把获得的内容返回给客户端,期中,代理请求可能根据配置被发往不同的服务器。
客户端向反向代理服务器发送请求,后端有多个服务器,客户端请求的是nginx代理服务器,由Nginx去转发请求到空闲的服务器上,将获取到服务器的资源返回给客户端。
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
4.堡垒机介绍
Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。为了保证服务器安全,加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有身份认证,授权,访问控制,审计等功能。
5.jumpserver功能
-
身份验证Authentication
登录认证:资源统一登录和认证、LDAP 认证、支持 OpenID,实现单点登录
多因子认证:MFA( GoogleAuthenticator) -
账号管理Account
集中账号管理:管理用户管理、系统用户管理
统一密码管理:资产密码托管、自动生成密码、密码自动推送、密码过期设置
批量密码变更(X-PACK):定期批量修改密码、生成随机密码
多云环境的资产纳管(XPACK):对私有云、公有云资产统一纳管 -
授权控制Authorization
资产授权管理:资产树、资产或资产组灵活授权、节点内资产自动继承授权
RemoteApp(X-PACK): 实现更细粒度的应用级授权
组织管理(X-PACK): 实现多租户管理,权限隔离
多维度授权: 可对用户、用户组或系统角色授权
指令限制: 限制特权指令使用,支持黑白名单
统一文件传输: SFTP 文件上传/下载
文件管理: Web SFTP 文件管理 -
安全审计 Audit
会话管理:在线会话管理、历史会话管理
录像管理:Linux 录像支持、Windows 录像支持
指令审计:指令记录
文件传输审计:上传/下载记录审计
6.jumpserver用来做什么的
- 用户和组管理
- 资产管理
- 授权管理
- 资产分组
- 会话管理