在 CentOS 上配置 Apache 服务器以使用 SSL/TLS 需要几个步骤。以下是一个基本的指南:
首先,确保你已经安装了 Apache 和 mod_ssl 模块。你可以使用以下命令来安装它们:
sudo yum install httpd mod_ssl
你可以从 Let’s Encrypt 免费获取 SSL 证书,或者从其他证书颁发机构(CA)购买。
你可以使用 Certbot 来获取和续订 Let’s Encrypt 证书。首先安装 Certbot:
sudo yum install certbot python2-certbot-apache
然后运行 Certbot 来获取证书:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按照提示完成证书的获取和配置。
Certbot 会自动修改你的 Apache 配置文件来启用 SSL。通常,它会修改 /etc/httpd/conf.d/ssl.conf 和 /etc/httpd/conf/httpd.conf 文件。
你可以手动编辑这些文件来进一步自定义配置。以下是一个基本的 SSL 配置示例:
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias 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
DocumentRoot /var/www/html
<Directory /var/www/html>
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>
保存所有更改后,重载 Apache 以应用新的配置:
sudo systemctl reload httpd
打开浏览器并访问 https://yourdomain.com,你应该能够看到一个安全的连接(通常显示一个锁图标)。
Let’s Encrypt 证书通常有效期为 90 天。Certbot 可以自动续订证书。你可以设置一个 cron 任务来定期检查并续订证书:
sudo crontab -e
添加以下行来每天检查证书续订:
0 0 * * * certbot renew --post-hook "systemctl reload httpd"
保存并退出编辑器。
通过以上步骤,你应该能够在 CentOS 上成功配置 Apache 服务器以使用 SSL/TLS。