本文介绍使用Let's Encrypt加密http的方法
前提:
1.服务器初始化
参考//www.greatytc.com/p/0311ea113dc5
2.注册域名和配置DNS
参考//www.greatytc.com/p/55d9a6b1e47a
3.安装nginx
参考//www.greatytc.com/p/0abe6d29daa7
4.配置server
参考//www.greatytc.com/p/59b94ed30740
步骤:
安装Certbot
添加存储库:
sudo add-apt-repository ppa:certbot/certbot
安装Certbot的Nginx软件包:
sudo apt install python-certbot-nginx
Certbot通过/etc/nginx/sites-available/example.com
中的server_name
自动配置SSL
sudo nano /etc/nginx/sites-available/example.com
//server_name如下格式
server_name example.com www.example.com;
允许HTTPS
sudo ufw allow 'Nginx Full'
//删除冗余配置
sudo ufw delete allow 'Nginx HTTP'
查看状态
sudo ufw status
获取SSL证书
sudo certbot --nginx -d example.com -d www.example.com
//output
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
如果后续需要为二级域名添加证书,执行
sudo certbot --nginx
验证Certbot自动续订
证书有效期是90天,以下指令进行续期
certbot renew
测试续期是否工作正常
sudo certbot renew --dry-run
常见问题
运行sudo certbot --nginx -d example.com -d www.example.com
失败
确保
/etc/nginx/sites-available/example.com
文件存在,并建立了到/etc/nginx/sites-enabled/example.com.conf
的软链接,并且有一个server在监听80端口