在CentOS系统中配置Apache2以支持SSL,需要遵循以下步骤:
首先,确保你已经安装了Apache HTTP服务器和SSL模块。你可以使用以下命令来安装它们:
sudo yum install httpd mod_ssl
你需要一个SSL证书。你可以从Let’s Encrypt免费获取,或者购买一个商业证书。以下是使用Let’s Encrypt获取证书的步骤:
Certbot是一个自动化工具,可以帮助你获取和续订Let’s Encrypt证书。首先,安装Certbot:
sudo yum install certbot python2-certbot-apache
然后,运行Certbot来获取证书:
sudo certbot --apache
按照提示操作,Certbot会自动配置Apache并获取证书。
Certbot会自动创建SSL配置文件,通常位于/etc/httpd/conf.d/ssl.conf
。你可以编辑这个文件来进一步自定义SSL配置。
以下是一个基本的SSL配置示例:
<VirtualHost *:443>
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
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error_log
CustomLog ${APACHE_LOG_DIR}/access_log combined
</VirtualHost>
保存并关闭配置文件后,重载Apache以应用更改:
sudo systemctl reload httpd
打开浏览器并访问https://yourdomain.com
,你应该能够看到一个安全的连接,并且浏览器地址栏会显示一个锁图标。
Let’s Encrypt证书通常每90天过期一次。Certbot可以自动续订证书。你可以设置一个cron任务来定期运行Certbot的续订命令:
sudo crontab -e
添加以下行来每天检查并续订证书:
0 0,12 * * * certbot renew --post-hook "systemctl reload httpd"
保存并关闭编辑器。
通过以上步骤,你就可以在CentOS系统中成功配置Apache2以支持SSL。