apach2 配置 https (Cerbot版) - mowen0303/note GitHub Wiki
在VPS上使用Apache2配置HTTPS证书的步骤如下:
1. 安装必要的工具
首先安装Certbot及其Apache插件,适用于Ubuntu/Debian系统:
sudo apt update
sudo apt install certbot python3-certbot-apache
2. 获取并安装SSL证书
运行Certbot并按照提示操作:
sudo certbot --apache
- 输入邮箱用于紧急通知和安全通知。
- 同意服务条款。
- 选择要为哪个域名配置HTTPS(Certbot会自动检测Apache中的虚拟主机)。
- 选择是否将HTTP流量自动重定向到HTTPS(推荐选择
2启用重定向)。
3. 验证证书自动续订
Let's Encrypt证书有效期为90天,Certbot会自动配置定时任务续订。测试续订流程:
sudo certbot renew --dry-run
若输出未报错,则续订配置正常。
4. 配置防火墙(如有必要)
确保防火墙允许HTTPS流量(端口443):
sudo ufw allow 443/tcp
sudo ufw reload
5. 验证HTTPS配置
访问 https://你的域名,确认浏览器显示安全锁标志。可通过[SSL Labs测试](https://www.ssllabs.com/ssltest/)检查配置安全性。
手动配置(可选)
若需手动调整,证书通常存放在:
/etc/letsencrypt/live/你的域名/
- 私钥:
privkey.pem - 证书:
cert.pem - 链文件:
chain.pem - 完整链:
fullchain.pem
示例Apache虚拟主机配置:
<VirtualHost *:443>
ServerName 你的域名
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/你的域名/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/你的域名/privkey.pem
# 其他配置...
</VirtualHost>
启用SSL模块并重启Apache:
sudo a2enmod ssl
sudo systemctl restart apache2
强制HTTP重定向到HTTPS
若未通过Certbot自动配置,可在HTTP虚拟主机中添加重定向:
<VirtualHost *:80>
ServerName 你的域名
Redirect permanent / https://你的域名/
</VirtualHost>
故障排查
- 证书申请失败:检查域名解析是否正确,80端口是否开放且未被占用。
- HTTPS无法访问:确认443端口开放,防火墙未阻止,Apache配置无误。
- 查看日志:
- Certbot日志:
/var/log/letsencrypt/ - Apache错误日志:
/var/log/apache2/error.log
- Certbot日志:
完成以上步骤后,你的网站将通过HTTPS安全访问。使用Certbot自动化流程可简化操作,确保配置正确且易于维护。