要在Apache2上配置SSL证书加密,你需要遵循以下步骤:
安装Apache2(如果尚未安装): 对于Debian/Ubuntu系统,请使用以下命令:
sudo apt-get update
sudo apt-get install apache2
对于CentOS/RHEL系统,请使用以下命令:
sudo yum install httpd
安装Certbot(Certbot是一个自动获取和安装Let’s Encrypt SSL证书的工具): 对于Debian/Ubuntu系统,请使用以下命令:
sudo apt-get install certbot python3-certbot-apache
对于CentOS/RHEL系统,请使用以下命令:
sudo yum install certbot python2-certbot-apache
获取SSL证书:
使用Certbot获取SSL证书。请确保将yourdomain.com替换为你的实际域名。
sudo certbot --apache -d yourdomain.com
Certbot将引导你完成证书获取过程。你需要提供电子邮件地址、同意服务条款并允许Certbot在你的服务器上运行。
配置Apache2以使用SSL证书:
Certbot将自动更新你的Apache2配置文件(通常位于/etc/apache2/sites-available/yourdomain.com-le-ssl.conf或/etc/httpd/conf.d/yourdomain.com-le-ssl.conf),以启用SSL加密。配置文件应包含以下内容:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
<Directory /var/www/yourdomain.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/yourdomain.com_error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain.com_access.log combined
</VirtualHost>
</IfModule>
确保将ServerName、ServerAlias和DocumentRoot指令更改为你的实际域名和网站目录。
启用SSL站点并重启Apache2: 对于Debian/Ubuntu系统,请使用以下命令:
sudo a2ensite yourdomain.com-le-ssl.conf
sudo systemctl restart apache2
对于CentOS/RHEL系统,请使用以下命令:
sudo systemctl enable httpd-ssl.service
sudo systemctl restart httpd
测试SSL配置:
在浏览器中访问https://yourdomain.com,你应该看到一个绿色的锁图标,表示你的网站已成功启用SSL加密。
注意:Let’s Encrypt证书有效期为90天。为了确保证书始终有效,你需要设置Certbot自动更新证书。可以使用以下命令:
sudo certbot renew --dry-run
如果一切正常,Certbot将自动更新证书。你还可以设置一个cron任务或systemd定时器来自动执行此操作。