以下是在Debian系统上配置Apache SSL证书的步骤:
安装Apache和SSL模块
sudo apt update
sudo apt install apache2
sudo a2enmod ssl # 启用SSL模块
获取SSL证书
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按提示完成证书申请,Certbot会自动配置Apache。sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/apache-selfsigned.key \
-out /etc/ssl/certs/apache-selfsigned.crt
配置Apache虚拟主机
编辑配置文件(如/etc/apache2/sites-available/yourdomain.com.conf):
<VirtualHost *:443>
ServerName yourdomain.com
DocumentRoot /var/www/yourdomain.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem # Let’s Encrypt证书路径
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
# 可选:启用HTTP/2、安全头等
# SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
# Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
若使用自签名证书,需将SSLCertificateFile和SSLCertificateKeyFile指向生成的.crt和.key文件。
启用站点并重启服务
sudo a2ensite yourdomain.com.conf # 启用配置文件
sudo systemctl restart apache2 # 重启Apache
验证配置
https://yourdomain.com,检查是否显示安全锁图标。sudo apache2ctl configtest测试配置语法是否正确。可选:强制HTTP跳转HTTPS
编辑HTTP虚拟主机配置文件(如/etc/apache2/sites-available/000-default.conf),添加重定向规则:
<VirtualHost *:80>
ServerName yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
重启Apache后生效。
说明:
sudo certbot renew --dry-run测试自动续期功能。ECDHE-RSA-AES256-GCM-SHA384)。