配置 Apache2 以使用 SSL 加密涉及几个步骤。以下是一个基本的指南,帮助你在 Apache2 上设置 SSL:
1. 安装 Apache2 和 SSL 模块
首先,确保你已经安装了 Apache2 和 SSL 模块。在大多数 Linux 发行版中,你可以使用包管理器来安装它们。
在 Debian/Ubuntu 上:
sudo apt update sudo apt install apache2 sudo a2enmod ssl
在 CentOS/RHEL 上:
sudo yum install httpd openssl sudo systemctl enable httpd sudo systemctl start httpd sudo systemctl enable httpd-ssl sudo systemctl start httpd-ssl
2. 获取 SSL 证书
你可以从受信任的证书颁发机构(CA)购买 SSL 证书,或者使用 Let’s Encrypt 免费获取。
使用 Let’s Encrypt 获取证书:
sudo apt install certbot python3-certbot-apache sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按照提示完成证书的获取和安装。
3. 配置 Apache2 使用 SSL
编辑 Apache2 的配置文件,通常位于 /etc/apache2/sites-available/
目录下。
创建一个新的 SSL 配置文件:
sudo nano /etc/apache2/sites-available/yourdomain.com-le-ssl.conf
添加以下内容:
ServerAdmin webmaster@yourdomain.com ServerName yourdomain.com ServerAlias www.yourdomain.com DocumentRoot /var/www/html 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 ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
保存并关闭文件。
4. 启用 SSL 站点
启用新创建的 SSL 配置文件:
sudo a2ensite yourdomain.com-le-ssl.conf
5. 禁用 HTTP 站点(可选)
如果你不再需要 HTTP 站点,可以禁用它:
sudo a2dissite 000-default.conf
6. 重启 Apache2 服务
使配置生效:
sudo systemctl restart apache2
7. 验证 SSL 配置
打开浏览器,访问 https://yourdomain.com
,你应该能够看到一个安全的连接,并且浏览器地址栏会显示一个锁形图标。
8. 自动续期 Let’s Encrypt 证书
Let’s Encrypt 证书通常每 90 天过期一次。你可以使用 Certbot 的自动续期功能来确保证书始终有效:
sudo certbot renew --dry-run sudo systemctl enable certbot.timer sudo systemctl start certbot.timer
通过以上步骤,你应该能够在 Apache2 上成功配置 SSL 加密。