lets encrypt + ubuntu + nginx+ 全站https

全站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

你可能感兴趣的:(lets encrypt + ubuntu + nginx+ 全站https)