任务一:Nginx HTTPS 部署
需求:网站启用 HTTPS 加密访问。
1)手动签发 SSL 证书
2)配置 Nginx 支持 HTTPS
3)使用 https://域名 成功访问网站
启动nginx,设置nginx开机自启,查看nginx状态:运行中

创建目录以便于所需文件存放

生成密钥文件和创建自签名证书
在 /usr/local/nginx/ssl/private中生成nginx-selfsigned.key RSA 私钥文件

证书请求文件,寻找CA签发证书(需要填写一些信息,可以回车默认)

生成自签名证书

验证自签证证书是否生成:/usr/local/nginx/ssl/certs/nginx-selfsigned.crt

验证私钥文件是否生成:/usr/local/nginx/ssl/private/nginx-selfsigned.key

进行server配置
vim打开/usr/local/nginx/conf/nginx.conf配置server
server {
listen 443 ssl; #告诉nginx监听HTTPS(端口443)
server_name killer.com www.killer.com;
#指定SSL证书和密钥对路径
ssl_certificate /usr/local/nginx/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /usr/local/nginx/ssl/private/nginx-selfsigned.key;
#只启用TLS 1.2 和TLS 1.3,禁用TLS 1.0/1.1
ssl_protocols TLSv1.2 TLSv1.3;
#强制服务器优先选择加密套件
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
为保证所有HTTP到流量都转到HTTPS,可以另外添加以下内容:
server {
listen 80;
server_name killer.com www.killer.com;
return 301 https://$host$request_uri;
http://www.killer.com
}
nginx-t检查配置,配置正常

重启nginx

结果展示
https访问ip:由于是自签名所以被认为是野鸡网站,安全性低,但虚拟机测试可以尽情访问

点击右边的一直进入

任务二:Nginx + Keepalived 高可用
需求: Web 服务实现高可用,主节点故障自动切换。
环境规划: Nginx × 2(Master / Backup)
白底机器为:192.168.28.100,做主服务器
黑底机器为:192.168.28.128,做备服务器
1) 完成 Nginx + Keepalived 部署
基础配置
关闭防火墙和SELinux
关闭防火墙,关闭开机自启


关闭增强功能


配置主机名,方便区分


确认IP正确


两台机器互相ping通
100可以ping通128

128可以ping通100

安装nginx和epel-release




启动nginx并设置开机自启


验证


做能区分主备的首页
dr1(yum安装)

dr2(源码安装)

验证


keepalived相关
安装Keepalived


启动keepalived


备份原文件配置


keepalived配置(删除基础配置并写入以下内容)
dr1配置

dr2配置

启动服务并查看运行状态


验证VIP落在谁身上
发现VIP123落在权重较大的dr1上


网页验证
现VIP在主上,客户端通过VIP访问到的是主的内容

2) 演示主节点故障切换(VIP 自动漂移)
停掉dr1的keepalived服务

到dr2上观察
VIP自动漂移至dr2

到客户端访问
主挂,备在1s多有接管VIP,业务不中断

3) 验证业务访问不中断
恢复主服务器

查VIP
主恢复后,会在1s左右抢占VIP,业务恢复或一台服务器中断,都能保证业务访问不中断

