以下是在Ubuntu上为Apache安装SSL证书的步骤:
安装Apache和SSL模块
sudo apt update
sudo apt install apache2 libapache2-mod-ssl
sudo a2enmod ssl # 启用SSL模块
获取SSL证书
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按提示完成,Certbot会自动配置证书路径。/etc/apache2/ssl/)。配置Apache使用证书
/etc/apache2/sites-available/yourdomain.conf):sudo nano /etc/apache2/sites-available/yourdomain.conf
添加或修改以下内容(路径替换为实际证书路径):<VirtualHost *:443>
ServerName yourdomain.com
DocumentRoot /var/www/yourdomain
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/yourdomain.crt
SSLCertificateKeyFile /etc/apache2/ssl/yourdomain.key
SSLCertificateChainFile /etc/apache2/ssl/yourdomain.chain # 可选
</VirtualHost>
sudo a2ensite yourdomain.conf
重启Apache并验证
sudo systemctl restart apache2
浏览器访问https://yourdomain.com,查看是否显示安全锁图标。
可选:设置HTTP重定向到HTTPS
编辑/etc/apache2/sites-available/000-default.conf,在<VirtualHost *:80>中添加:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
重启Apache生效。
证书自动续期(针对Let’s Encrypt):
Certbot默认会自动续期,可测试续期:
sudo certbot renew --dry-run