Https的概述:
- 基于http协议,传输的时候进行加密.如果不使用https,数据传输都是明文的。
应用场景:
- 目前大部分的业务都是使用https加密.
- 企业想使用http 2.0基于https.
部署https加密的流程
- 准备好要升级的域名
- 根据域名申请https证书(私钥与公钥(ca证书)),自己创建.
- 进行配置web/lb进行配置
- 跳转http---->https
![image]()
这是网站没有做https转https的证书
Https加密流程(单台)
部署
申请的https证书的域名与网站域名一致,才能正常使用.否则用户访问会有警告与提示.
https加密流程
流程:
1.安装nginx
2.修改配置文件
3.创建站点目录
4.把秘钥移动到站点目录
https加密要修改的地方
server {
listen 443 ssl;
#ssl on ; 1.15.0 以后被废弃了. 以前旧版本的了解一下
server_name bird.zhanshuai.com.cn; #域名地址
root /usr/share/nginx/html; #服务的首页文件
#ssl证书的公钥和私钥
ssl_certificate /etc/nginx/ssl/bird.zhanshuai.com.cn.pem; #公钥
ssl_certificate_key /etc/nginx/ssl/bird.zhanshuai.com.cn.key; #私钥
ssl_session_timeout 1d; #指定ssl会话时间
ssl_session_tickets off; #是否使用TLS会话票据
ssl_protocols TLSv1.2; #指定了Nginx应支持的SSL/TLS协议版本
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20- POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA; #定义了一组SSL密码套件,
ssl_prefer_server_ciphers on; #使用列出的密码套件列表来优先选择与客户端协商的密码套件
location / {
index index.html;
}
}
http挑转到https
server {
listen 80;
server_name bird.zhanshuai.com.cn;
return 301 https://bird.zhanshuai.com.cn$request_uri ; 跳转的域名
}
#http跳转https只需要在http里面加入一行强制跳转到https的命令即可,https的配置不用修改
server {
listen 443 ssl;
#ssl on ; 1.15.0 以后被废弃了. 以前旧版本的了解一下
server_name bird.zhanshuai.com.cn; #域名地址
root /usr/share/nginx/html; #服务的首页文件
#ssl证书的公钥和私钥
ssl_certificate /etc/nginx/ssl/bird.zhanshuai.com.cn.pem; #公钥
ssl_certificate_key /etc/nginx/ssl/bird.zhanshuai.com.cn.key; #私钥
ssl_session_timeout 1d; #指定ssl会话时间
ssl_session_tickets off; #是否使用TLS会话票据
ssl_protocols TLSv1.2; #指定了Nginx应支持的SSL/TLS协议版本
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20- POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA; #定义了一组SSL密码套件,
ssl_prefer_server_ciphers on; #使用列出的密码套件列表来优先选择与客户端协商的密码套件
location / {
index index.html;
}
}
配置成功的图
![image]()