面试题答案
一键面试初始设置
- 安装Certbot:Certbot是Let's Encrypt推荐的客户端工具。不同操作系统安装方式不同,例如在Ubuntu系统上,可通过包管理器安装:
sudo apt update sudo apt install certbot python3-certbot-nginx
- 确认服务器配置:确保Web服务器(如Nginx或Apache)已正确安装并配置,网站能够正常访问。且服务器的域名可通过公网访问,DNS记录已正确设置。
获取证书
- 选择验证方式:
- HTTP验证:Certbot会在Web服务器指定目录放置一个验证文件,Let's Encrypt服务器通过访问该文件来验证域名所有权。
- DNS验证:通过修改域名的DNS TXT记录来验证域名所有权,适合无法通过HTTP直接访问服务器的情况。
- 使用Certbot获取证书:
- 对于HTTP验证,以Nginx为例:
运行命令后,Certbot会自动检测Nginx配置,选择要应用证书的网站,并自动完成验证和证书安装,会提示输入邮箱等信息,并询问是否同意服务条款等。sudo certbot --nginx -d your_domain.com -d www.your_domain.com
- 对于DNS验证,需要先安装对应DNS服务商的插件,例如Cloudflare的插件:
然后运行获取证书命令,需要提供API密钥等信息:sudo apt install python3-certbot-dns-cloudflare
sudo certbot certonly --dns-cloudflare -d your_domain.com -d www.your_domain.com
- 对于HTTP验证,以Nginx为例:
证书更新
- 自动更新机制:Certbot默认会设置一个定时任务(Cron Job或systemd timer)来自动更新证书。一般证书有效期为90天,Certbot会在证书过期前一定时间(如30天左右)尝试更新。
- 手动更新:若要手动更新证书,可运行以下命令:
该命令会检查所有已安装的证书,对即将过期的证书进行更新操作。更新完成后,Web服务器(如Nginx或Apache)可能需要重新加载配置以应用新证书,例如Nginx重新加载配置命令:sudo certbot renew
sudo systemctl reload nginx