Let’s Encrpyt是什么
Let’s Encrypt是一套新型证书管理器(简称CA),能够轻松帮助用户获取并安装免费TLS/SSL证书,并借此在Web服务器上实现HTTPS加密。官方网址:https://letsencrypt.org/
系统环境以及Django版本等还是延续上一篇文章,这里不再赘述。在这里我们采用Certbot方法安装Let's Encrypt。
安装Certbot
sudo apt install certbot python3-certbot-nginx
Certbot 现在可以使用了,这时可以检查Nginx的sites-available 文件夹中,有没有这个/etc/nginx/sites-available/example.com配置文件,有的话在后面的命令中,Certbot会自动将SSL配置文件写好,当然没有也没问题,后面可以手动添加配置文件内容。
获取SSL证书
使用如下Certbot命令,获取SSL证书
sudo certbot --nginx -d example.com -d www.example.com
执行命令后会出现一堆英文,大概就是证书下载好了,放在某某文件夹了;证书有效期到什么时候;已经做好了自动续订;巴拉巴拉。
因为当时操作没留记录,就不帖英文文字了。
检查Nginx配置文件
看一下/etc/nginx/sites-available/example.com配置文件,大概要是这样就对了
server {
server_name www.example.com;
location / {
uwsgi_pass 127.0.0.1:8090;
include /etc/nginx/uwsgi_params;
}
listen [::]:443 ssl;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
验证是否配置成功
重启Nginx试用一下,发现通过域名访问网站的时候,出现小锁图标,说明成功了。
其他说明
配置证书完成后重启Nginx,遇到错误提示:
[emerg] BIO_new_file failed;
Failed to start A high performance web server and a reverse proxy server;
如果大家看到这些关键字,基本上就是Nginx配置文件中letsencrypt的证书地址敲错了,仔细检查即可。
评论
No comments yet.