Web 群集服务小复习(一)

文章目录

①没有没有做过 Nginx 支持 https 的访问,如何配置?

HTTP(超文本传输协议):是一个简单的【请求-响应】协议,指定了客户端可能发送给服务器什么样的消息,以及可以得到什么样的响应

HTTPS

  1. 是以安全为目标的 HTTP 通道,在 HTTP 的基础上通过传输加密和身份认身份认证保证了传输过程的安全性

  2. HTTPS 是在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL

SSL(安全套接字协议):是为网络通信提供安全及数据完整性的一种安全协议,被广泛地用于 Web 浏览器与服务器之间的身份认证和加密数据传输

部署步骤如下:

1.需要SSL证书支持,这里我是使用阿里云的云盾SSL证书

2.重新编译,在【./configure】后加入【--with-http_ssl_module】 ,以支持ssl

3.修改Nginx配置,新增Server节点,监听443端口

4.将 http 重定向至 https

5.编辑完成后重启nginx生效

6.如果80端口被占用,可以结束进程后再次重启即可成功

②Nginx 前端页面/图片加载不出来,如何排查故障?

  1. 第一反应,是不是网络问题,查看网络连接,防火墙等
  2. 查看服务是否正常启动,端口是否被占用
  3. 检查配置文件,location查询路径书否正确,rewrite路径跳转是否正确,编辑完配置文件后是否重启服务
  4. 查看图片的格式是否匹配,配置文件中指定的默认首页目录下文件是否存在,内容是否正确

③Nginx、LVS、Haproxy 三者有何区别?(优缺点总结)

Nginx:

  1. 工作在网络 7 层之上,可针对 http 应用做一些分流的策略,如针对域名、目录结构,它的正规规则比 Haproxy 更为强大和灵活
  2. 对网络稳定性的依赖非常小,理论上能 ping 通就能进行负载功能
  3. 安装与配置比较简单,测试也比较方便
  4. 可以承担高负载压力且稳定,硬件不差的情况下一般能支撑几万次的并发量,负载度方面相对而言比 LVS 弱
  5. Nginx 可以通过端口检测到服务器内部的故障,如根据服务器处理网页返回的状态码、超时等,并会把返回错误的请求重新提交到另一个节点
  6. 对后端服务器的健康检查,只支持通过端口检测,不支持 url 来检测
  7. 不仅仅是负载均衡/反向代理能力强,同时也是强大的 Web 应用服务器,LNMP 架构在高流量环境中稳定性很好
  8. 适应范围较小,仅能支持 http、https、Email 协议

LVS:

  1. 抗负载能力强、是工作在网络 4 层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的,且对内存和 cpu 资源消耗也比较低
  2. 配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率
  3. 工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,如【LVS+Keepalived】,不过我们在项目实施中用得最多的还是【LVS/DR+Keepalived】
  4. 应用范围比较广,因为 LVS 工作在 4 层,所以它几乎可以对所有应用做负载均衡,包括 http、数据库、在线聊天室等等
  5. 本身不支持正则表达式处理,不能做动静分离。而现在许多网站在这方面都有较强的需求,这个是【Nginx/HAProxy+Keepalived】的优势所在
  6. 如果是网站应用比较庞大的话,【LVS/DR+Keepalived】实施起来就比较复杂了,相对而言,【Nginx/HAProxy+Keepalived】就简单多了

Haproxy:

  1. Haproxy 的优点能够补充 Nginx 的一些缺点,比如支持 Session 的保持,Cookie 的引导。同时支持通过获取指定的 url 来检测后端服务器的状态
  2. HAProxy 跟 LVS 类似,本身就只是一款负载均衡软件,单纯从效率上来讲 Haproxy 会比 Nginx 有更出色的负载均衡速度,在高并发处理上也是优于 Nginx 的
  3. Haproxy 负载均衡策略非常多,有八种

④如何优化 Tomcat?

  1. 操作系统优化,即内核参数优化
  2. 配置文件参数优化
  3. Java 虚拟机,即 JVM 调优

⑤补充:对称密钥与非对称密钥有何区别?

SSH

  1. SSH 是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能
  2. SSH 协议对通信双方的数据进行了加密处理,其中包括用户登录时输入的用户口令,提供了更好的安全性
  3. 在使用 SSH 的过程中,数据传输时加密的,可以防止信息泄露,而且也是压缩的,可以提高传输速度

对称密钥

  1. 加密和解密使用相同密钥的算法

  2. 速度快,可加密内容较大,用来加密会话过程中的消息,便于硬件实现和大规模生产

  3. 每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担

  4. 对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高

非对称密钥:(也称之为公开密钥或双密钥)

  1. 其原理是加密密钥与解密密钥不同,形成一个密钥对,用其中一个密钥加密的结果,可以用另一个密钥来解密
  2. 加密和解密使用不同的密钥,一个密钥公开,称公钥,一个密钥保密,称私钥

上一篇:LVS负载均衡集群架构


下一篇:高胜寒聊架构-LVS集群的介绍