
HTTPS已成为当今网站的标配,不仅提升数据传输过程中的安全性,还对SEO排名产生积极影响。搜索引擎(如Google和百度)明确表示,更倾向于为采用HTTPS的网站提供更高的排名。此外,HTTPS还能提高网站访问者的信任度和页面加载速度,从而进一步改善用户体验,这些都是搜索引擎在评估页面质量时的重要考量因素。本文将带你快速入门,通过Let’s Encrypt免费申请SSL证书,开启网站HTTPS加密。
一、什么是Let’s Encrypt?
Let’s Encrypt是一家提供免费SSL证书的非盈利组织,证书被主流浏览器信任,易于安装和自动续期,广泛用于个人和商业网站。
二、安装Certbot工具
Certbot是申请和管理Let’s Encrypt证书的推荐工具,其核心功能包括证书的申请、自动续期和验证域名所有权。Certbot使用ACME协议与Let’s Encrypt服务器通信,通过自动验证域名的控制权来颁发证书。证书颁发后,Certbot还会设置自动续期任务,以确保证书在过期前自动更新,避免人为疏忽造成网站访问问题。
- Ubuntu/Debian系统:
sudo apt update
sudo apt install certbot python3-certbot-nginx
- CentOS/RHEL系统:
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
- CentOS/RHEL系统:
```shell
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
三、获取并安装证书
Certbot支持多种域名验证方式,其中最常见的包括HTTP验证和DNS验证:
- HTTP验证:Certbot会在网站根目录下创建临时文件,通过外部访问该文件来验证域名的所有权。这种方法简单快速,适合普通网站。
- DNS验证:适用于无法使用HTTP验证的场景,例如通配符证书或无法直接访问的网站。通过修改域名的DNS记录,Certbot会验证你对域名的控制权。
运行以下命令,Certbot将自动配置Nginx,默认采用HTTP验证方式,启用HTTPS:
sudo certbot --nginx -d example.com -d www.example.com
按照提示输入邮箱、接受条款,Certbot会自动完成域名验证和配置。
四、证书自动续期设置
Let’s Encrypt证书有效期为90天,Certbot默认会配置定时任务自动续期。手动测试自动续期是否正常:
sudo certbot renew --dry-run
五、检查HTTPS配置
安装完成后,可通过浏览器访问网站,确保地址栏中出现安全标识(绿色锁图标)。
六、常见问题及排查
- 域名验证失败:确认域名解析正常、服务器防火墙未阻挡80/443端口。
- 证书未生效:确保Nginx配置正确且服务已重载或重启。
七、优化与安全建议
- 启用HTTP Strict Transport Security (HSTS)增强安全性,可通过在Nginx配置中添加以下指令实现:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
此设置强制浏览器未来一段时间内仅使用HTTPS访问网站,有效防止中间人攻击。
- 定期检查证书续期状态,避免过期。建议使用
sudo certbot renew --dry-run
测试自动续期是否配置成功,并结合系统的cron任务或systemd timer机制实现真正的自动化。
通过本文步骤,快速、安全且免费地为你的网站开启HTTPS,增强网站可信度与安全性。