在当今互联网环境中,为网站部署SSL证书,实现HTTPS加密访问,早已不是一项可选项,而是保障数据安全、建立用户信任的基础要求,尽管CentOS 6.5是一个相对陈旧的操作系统(已于2020年11月停止支持),但考虑到部分项目可能因兼容性等原因仍需在此环境下运行,本文将详细讲解在CentOS 6.5系统上为Apache服务器安装SSL证书的全过程。
在开始之前,请务必理解一个关键前提:由于CentOS 6.5的官方源已不再更新,其内置的OpenSSL版本可能存在已知的安全漏洞,从安全角度出发,强烈建议您将系统升级至受支持的CentOS 7或更高版本,如果现实条件不允许,请确保您的服务器处于严格的内网环境或已采取其他额外的安全加固措施。

准备工作
获取SSL证书:您需要已经从证书颁发机构(CA)获取了SSL证书文件,这会包含三个文件:
- 域名证书文件(
your_domain.crt):这是您域名的主证书。 - 中间证书文件(
ca_bundle.crt):这是证书链文件,用于建立浏览器对您证书的信任。 - 私钥文件(
your_domain.key):这是在生成证书签名请求(CSR)时创建的私钥文件,务必妥善保管,切勿泄露。
- 域名证书文件(
系统权限:您需要以
root用户或有sudo权限的用户身份执行以下操作。环境确认:确保您的服务器上已经安装了Apache(
httpd)服务,并且运行在80端口。
安装与配置步骤
第一步:安装Mod_SSL模块

Apache通过mod_ssl模块来提供SSL功能,我们使用yum命令来安装它。
yum install mod_ssl -y
这个命令会自动安装mod_ssl及其所有依赖项,安装完成后,您会在/etc/httpd/conf.d/目录下发现一个名为ssl.conf的配置文件,这是SSL功能的主要配置文件。
第二步:上传证书文件
为了管理方便,建议在服务器上创建一个专门的目录来存放SSL证书文件,一个常见的做法是放在/etc/ssl/目录下。
mkdir -p /etc/ssl/private/ mkdir -p /etc/ssl/certs/
将您的证书文件上传到对应的目录:
- 将您的域名证书文件(
your_domain.crt)和中间证书文件(ca_bundle.crt)上传到/etc/ssl/certs/目录。 - 将您的私钥文件(
your_domain.key)上传到/etc/ssl/private/目录。
上传完成后,请务必设置正确的文件权限,特别是私钥文件,应设置为仅root用户可读。

chmod 600 /etc/ssl/private/your_domain.key chmod 644 /etc/ssl/certs/your_domain.crt chmod 644 /etc/ssl/certs/ca_bundle.crt
第三步:配置Apache的SSL虚拟主机
现在我们需要编辑SSL的配置文件/etc/httpd/conf.d/ssl.conf。
使用文本编辑器(如vi)打开该文件:
vi /etc/httpd/conf.d/ssl.conf
找到并修改以下关键指令,在旧版本的配置中,它们可能被分散在<VirtualHost _default_:443>部分中。
指定证书和私钥路径:
- 找到
SSLCertificateFile指令,将其值修改为您的域名证书路径。SSLCertificateFile /etc/ssl/certs/your_domain.crt
- 找到
SSLCertificateKeyFile指令,将其值修改为您的私钥文件路径。SSLCertificateKeyFile /etc/ssl/private/your_domain.key
- 找到
SSLCertificateChainFile指令(如果不存在,可以在SSLCertificateFile下方添加一行),将其值设置为您的中间证书链文件路径,这是确保证书链完整的关键一步。SSLCertificateChainFile /etc/ssl/certs/ca_bundle.crt
- 找到
配置虚拟主机信息:
- 确保
<VirtualHost _default_:443>部分已正确设置您的服务器名称和文档根目录。ServerName your-domain.com:443 DocumentRoot "/var/www/html" # 请确保此为您的网站实际目录
- 确保
第四步:调整防火墙规则
CentOS 6.5默认使用iptables防火墙,我们需要确保443端口(HTTPS)是开放的。
编辑iptables配置文件:
vi /etc/sysconfig/iptables
找到开放80端口的行,通常如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 在这行下方,添加一条允许443端口的规则:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT 保存并退出后,重启iptables服务使新规则生效。
service iptables restart
第五步:重启Apache并测试
完成所有配置后,重启Apache服务以加载新的SSL配置。
service httpd restart
打开您的浏览器,在地址栏输入https://your-domain.com访问您的网站,如果一切配置正确,浏览器地址栏会显示一把锁的标志,表示HTTPS连接已成功建立,您也可以使用在线SSL检测工具来检查您的证书安装是否正确,包括证书链是否完整。
可能遇到的问题与解决思路
- Apache启动失败:重启httpd服务时如果报错,请仔细检查
ssl.conf文件中的路径是否正确,以及证书和密钥文件的权限设置,可以通过tail -n 50 /var/log/httpd/error_log命令查看错误日志来定位问题。 - 浏览器提示“不安全的连接”:这通常意味着证书链不完整或配置有误,请反复核对
SSLCertificateChainFile的路径是否正确指向了中间证书捆绑文件。
在CentOS 6.5这样的老旧系统上工作,更像是一种在限定条件下的运维实践,核心在于对每一步操作的理解和谨慎验证,顺利完成SSL证书安装,无疑是向用户传递安全与专业信号的重要一步,但请始终将系统升级计划提上日程,因为真正的安全,建立在持续维护和更新的基础之上。
