前言:笔者买了个域名和云服务器,用于学习,本文仅记录下学习过程当中的一些收获,若有不足之处,请指正或者提出好的建议。◕‿◕。谢谢。此文是在Debian安装了nginx的基础之上,为服务器配置https,关于如何在Debian安装nginx,这个博主写得蛮不错的: Debian 8 安装Nginx最新版本,关于网站部署https的重要性以及https的一些原理,这个博主也写得蛮不错的: HTTPS证书生成原理和部署细节。
当咱们访问一些不支持https的网站的时候,谷歌浏览器会提示咱们:
HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,因此使用不加密的 http 的网站是不太安全的。
如今有一些机构能够为咱们免费提供安全证书,如阿里云或者腾讯云等等平台,笔者是在阿里云上买的域名,也顺便在阿里云申请免费的SSL证书。html
)。nginx
接着,会生成验证信息,咱们只须要点击验证,阿里云会自动帮咱们验证信息的。
点击验证以后,咱们看到控制台这里是提示证书申请审核中:
等待大概2-3分钟以后,阿里云发来了邮件信息,提示申请证书成功:
再次回到咱们的控制台,咱们会发现此时从审核中变成了已签发的状态,而后就是下载咱们的SSL证书了:
下载以后进行解压,里面有两个文件,以.key和.pem结尾,这两个咱们要上传到咱们的Debian8上面。
建立存放SSL证书文件的文件夹:vim
$ sudo mkdir -p /etc/nginx/ssl
我这里是把这两个文件放在 /etc/nginx/ssl目录下,这里须要记住上传SSL证书文件的路径。
接着,咱们须要给nginx的配置文件加上添加证书的路径以及开启安全证书,进入默认的配置文件:浏览器
$ vim /etc/nginx/sites-available/default
点击 i ,进行修改内容,把如下内容复制/输入进去,固然别忘了把ssl_certificate和ssl_certificate_key后面路径的**换成是你的文件名字哦:安全
listen 443 ssl; ssl_certificate /etc/nginx/ssl/****.pem; ssl_certificate_key /etc/nginx/ssl/****.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on;
最后按esc退出,而后输入:wq 保存并退出。服务器
而后检查一下咱们修改内容有没有出错,输入:session
$ nginx -t
提示successful学习
最后的最后,还须要重启一下nginx,否则的话是不会生效的。
输入:网站
$ sudo service nginx restart
最后,在浏览器访问个人域名,能够看到提示链接是安全的:ui
题外话,部署好了以后能够在这个网站:连接,看看测评分数,若是分数是 A+,说明你的 HTTPS 的各项配置都还不错,速度也很快。我这边是B。