在CentOS上配置Apache2以使用SSL证书,您需要遵循以下步骤:
安装EPEL和mod_ssl包: 首先,您需要安装EPEL(Extra Packages for Enterprise Linux)存储库和mod_ssl模块,这是Apache用来支持SSL的模块。运行以下命令来安装它们:
sudo yum install epel-release
sudo yum install mod_ssl
创建SSL证书和私钥: 您需要一个SSL证书和相应的私钥。您可以使用自签名证书进行测试,但在生产环境中,您应该从受信任的证书颁发机构(CA)获取证书。要创建自签名证书,可以使用OpenSSL工具:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/apache-selfsigned.key -out /etc/pki/tls/certs/apache-selfsigned.crt
这将生成一个名为apache-selfsigned.key
的私钥文件和一个名为apache-selfsigned.crt
的证书文件。
创建SSL配置文件:
在/etc/httpd/conf.d/
目录下创建一个名为ssl.conf
的新文件,并将以下内容粘贴到文件中:
<VirtualHost *:443>
ServerName yourdomain.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/pki/tls/private/apache-selfsigned.key
SSLCertificateChainFile /etc/pki/tls/certs/ca-bundle.crt
<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>
请确保将yourdomain.com
替换为您的域名,并将DocumentRoot
指令设置为您的网站文档根目录。如果您使用的是自签名证书,还需要添加SSLCertificateChainFile
指令,指向一个包含CA证书的ca-bundle.crt
文件。您可以从证书颁发机构获取此文件,或者使用以下命令生成一个包含常见CA证书的ca-bundle.crt
文件:
sudo c_rehash /etc/pki/tls/certs/
启用SSL模块并重启Apache:
编辑/etc/httpd/conf/httpd.conf
文件,找到以下行并取消注释以启用SSL模块:
#LoadModule ssl_module modules/mod_ssl.so
然后,重启Apache以应用更改:
sudo systemctl restart httpd
现在,您的CentOS Apache2服务器应已配置为使用SSL证书进行HTTPS连接。请注意,由于我们使用的是自签名证书,浏览器可能会警告您证书不受信任。在生产环境中,您应该使用由受信任CA签发的证书。