全站https以前貌似听起来还挺唬人的,时至今日,已经简单到无脑,只需几个简单的命令就搞定了。follow me,搞一下。
1. 安装certbot
sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot python-certbot-nginx
certbot --version
2. 获取证书
#使用默认选项获取证书,注意把域名和email换成自己的
#建议新手使用
sudo certbot --nginx --agree-tos --redirect --uir --hsts --staple-ocsp --must-staple -d www.example.com,example.com --email your-email-address
或者自定义配置,跟上面的命令二选一,稍微能看懂英文就ok
sudo certbot
这步骤完成后会提示你两个pem的路径,记住他们
3. 修改nginx配置——这一步certbot通常可以帮我们自动完成,如果没有搞定,就自己搞一下
1)listener 80改为listen 443
2)server节点中添加下面这一对ssl的配置
这里需要修改称自己的信息
ssl on;
ssl_certificate XXX/fullchain.pem; # 修改为fullchain.pem所在的路径
ssl_certificate_key XXX/privkey.pem; # 修改为privkey.pem所在的路径
ssl_session_timeout 5m;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
3)添加一个server,把http的访问跳转到https
这里需要修改称自己的信息
server {
listen 80;
server_name example.com; #这里修改为网站域名
rewrite ^(.*)$ https://$host$1 permanent; #这行不用改
}
4)重启nginx
service nginx restart
4. 测评
到这里,如果以上都顺利,就可以通过https访问网站了
打开这个网站,输入你的网址测评
https://www.ssllabs.com/ssltest/analyze.html
我的得到了一个A
以后有需要再研究如何获得A+
5. 参考资料:
https://www.linuxidc.com/Linux/2017-12/149936.htm
https://blog.csdn.net/xs18952904/article/details/79262646
http://www.ctohome.com/FuWuQi/10/766.html
https://www.ssllabs.com/ssltest/analyze.html