一、http 和 https 是什么?
简单来说,http 是一个传输网页内容的协议,比如你看到的 http 开头的网站 http://www.163.com,其网页上的文字、图片、 CSS 、 JS 等文件都是通过 http 协议传输到我们的浏览器,然后被我们看到。
而 https 可以理解为“ HTTP over SSL/TLS ”,好端端的 http 为什么需要“ over SSL/TLS ”呢,因为 http 是明文传输的,通过 http 协议传输的内容很容易被偷看和篡改,为了安全(你肯定不想被人偷看或者篡改网页内容吧,比如网站银行密码什么的。)就为 http 协议再加上了一层 SSL/TLS 安全协议,所以就有了 https 。
二、SSL/TLS 是什么?
“ HTTP over SSL/TLS ”字面意思就是带“安全tao接层”的 http 协议,内心纯洁的同学也可以理解为“带套的 http ”,因为带了安全tao,所以当然会比较安全(/(ㄒoㄒ)/~~)。其中 SSL 是“ Secure Sockets Layer ” 的缩写,是“套接层”的意思。 TLS 是 “Transport Layer Security” 的缩写,是 ” 传输层安全协议 ” 的意思。 SSL 和 TLS 是同一个东西的不同阶段,理解为同一个东西也行,都是安全协议就对了。
三、使用certbot获取免费证书
1.安装cerbot客户端
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
2.下载安装证书 (下面的邮箱和域名应该填你自己的)
./certbot-auto certonly --standalone --email ABC@163.com -d ABC.com
3.停掉nginx服务开始修改
service nginx stop
4.修改配置文件添加(证书的位置在 /etc/letsencrypt/live/)
ssl_certificate /etc/letsencrypt/live/ruigao.cqgoulian.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ruigao.cqgoulian.com/privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
5. 重启nginx服务
service nginx restart
6.打开游览器输入https://你的域名 成功打开 配置成功
7.证书有限期为90天可以刷新证书(使用刷新证书是需要先停掉nginx服务,以为nginx服务占用80端口,刷新成功以后在开启nginx服务)
/root/certbot-auto renew --force-renew