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