什么是SSL证书?
SSL(Secure Sockets Layer)是一种用于在服务器端和客户端之间建立加密连接的标准安全技术,比如:网站和浏览器之间,或者邮件服务器和邮件客户端之间。
SSL允许敏感信息(如:信用卡,社保信息和登录信息等)进行安全传输。通常,数据在浏览器和Web服务器之间是明文传输,导致潜在的信息泄露风险。
详细可以参考https://www.digicert.com/ssl/
什么是HTTPS协议?
HTTPS即HTTP加上SSL传输协议,HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
网站使用HTTPS的好处:一个是让用户的数据获得更安全的传输路径,另一个就是用户能够看到网站的真实性信息,防止假冒网站顶替。
如何申请免费证书?
在阿里云控制台中搜索SSL,进入SSL证书控制台。
image点击购买证书,选择免费型DV SSL证书,可以看到费用为0元。
image注意免费期只有一年,也就是说到时候需要再次购买。
购买完成后,填写相关的网站地址信息和联系方式,当天内几乎很快就能够完成审核。
随后就可以在已签发中看到证书。
image点击下载,选择Nginx(根据实际网站使用的技术框架来选择下载项),保存到本地证书的zip文件。里面包含两个文件,一个pem,一个key。
如何部署证书?
拷贝证书文件到服务器
复制到etc/nginx/下
修改nignx配置文件
找到/etc/nginx/nginx.conf文件,修改里面内容。
监听433端口
http{
server{
listen 443;
server_name www.域名.com;
ssl on;
ssl_certificate 证书文件pem路径;
ssl_certificate_key 证书文件key路径;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/local/service/ROOT;
index index.html index.htm;
}
}
}
转发80端口
http{
server{
listen 80;
server_name www.域名.com;
rewrite ^/(.*)$ www.域名.com:443/$1 permanent;
}
}
将no-www转为www
http{
server{
listen 443;
server_name 域名.com;
rewrite ^/(.*)$ www.域名.com:443/$1 permanent;
}
server{
listen 80;
server_name 域名.com;
rewrite ^/(.*)$ www.域名.com:443/$1 permanent;
}
}
重启nginx,加载配置文件
$ nginx -t //检查配置文件
$ nginx -s reload //加载配置文件
$ service nginx restart //重启服务
检查网站状态
输入网址,就可以在左边看到图标由不安全变为闭合的锁头形状图标。
image点击证书,可以进一步检查证书的详细信息,有效期和状态。
image
网友评论