在Apache服务器上安装SSL证书
本文以CentOS 7操作系统中的Apache 2.4.6服务器为例介绍SSL证书的安装步骤,您在安装国际标准证书时可以进行参考。证书安装好后,您的Web服务器才能支持SSL通信,实现通信安全。
由于服务器系统版本或服务器环境配置不同,在安装SSL证书过程中使用的命令或修改的配置文件信息可能会略有不同,云证书管理服务提供的安装证书示例,仅供参考,请以您的实际情况为准。
如参考文档安装证书后,HTTPS仍然不生效或遇到其他问题,请单击一对一咨询购买SSL证书配置优化服务,联系专业工程师为您排查具体问题。
约束条件
- 证书安装前,务必在安装SSL证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用HTTPS。
- 如果一个域名有多个服务器,则每一个服务器上都要部署。
- 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即购买的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
- 待安装证书为国际标准证书。
步骤一:获取文件
安装证书前,需要获取证书文件和密码文件,请根据申请证书时选择的“证书请求文件”生成方式来选择操作步骤:
具体操作如下:
- 系统生成CSR
- 在本地解压已下载的证书文件。
- 从“证书ID_证书绑定的域名_Apache”文件夹内获得证书文件“证书ID_证书绑定的域名_ca.crt”,“证书ID_证书绑定的域名_server.crt”和私钥文件“证书ID_证书绑定的域名_server.key”。
- “证书ID_证书绑定的域名_ca.crt”文件包括一段中级CA证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”。
- “证书ID_证书绑定的域名_server.crt”文件包括一段服务器证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”。
- “证书ID_证书绑定的域名_server.key”文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
- 自己生成CSR
- 解压已下载的证书压缩包,获得“证书ID_证书绑定的域名_server.pem”文件。
“证书ID_证书绑定的域名_server.pem”文件包括两段证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,分别为服务器证书和中级CA证书。
- 复制“证书ID_证书绑定的域名_server.pem”文件的第一段证书代码(服务器证书),并另存为“server.crt”文件。
- 复制“证书ID_证书绑定的域名_server.pem”文件的第二段证书代码(中级CA),并另存为“ca.crt”文件。
- 将“ca.crt”、“server.crt”和生成CSR时的私钥“server.key”放在任意文件夹内。
- 解压已下载的证书压缩包,获得“证书ID_证书绑定的域名_server.pem”文件。
步骤三:修改配置文件
修改配置文件前,请将配置文件进行备份,并建议先在测试环境中进行部署,配置无误后,再在现网环境进行配置,避免出现配置错误导致服务不能正常启动等问题,影响您的业务。
- 打开Apache根目录下“conf.d/ssl.conf”文件。
- 配置证书绑定的域名。
完整配置如下(以“www.domain.com”为例):
ServerName www.domain.com:443 #用户服务器的域名
- 配置证书公钥。
SSLCertificateFile "${SRVROOT}/conf/server.crt"
设置证书公钥文件“server.crt”文件的路径,且路径中不能包含中文字符,例如“cert/server.crt”。
完整配置如下:
SSLCertificateFile "cert/server.crt"
- 配置证书私钥。
SSLCertificateKeyFile "${SRVROOT}/conf/server.key"
设置为“server.key”文件的路径,且路径中不能包含中文字符,例如“cert/server.key”。
完整配置如下:
SSLCertificateKeyFile "cert/server.key"
- 配置证书链。
#SSLCertificateChainFile "${SRVROOT}/conf/server-ca.crt"
删除行首的配置语句注释符号“#”,并设置为“ca.crt”文件的路径,且路径中不能包含中文字符,例如“cert/ca.crt”。
完整配置如下:
SSLCertificateChainFile "cert/ca.crt"
- 修改后,保存“ssl.conf”文件并退出编辑。
步骤四:重启Apache
执行以下操作重启Apache,使配置生效。
- 执行service httpd stop命令停止Apache服务。
- 执行service httpd start命令启动Apache服务。
步骤五:效果验证
部署成功后,可在浏览器的地址栏中输入“https://域名”,按“Enter”。
如果浏览器地址栏显示安全锁标识,则说明证书安装成功。
- 如果网站仍然出现不安全提示,请参见为什么部署了SSL证书后,网站仍然出现不安全提示?。
- 如果通过域名访问网站时,无法打开网站,请参见为什么部署了SSL证书后,通过域名访问网站时,无法打开网站?进行处理。
- 如果仍未解决或出现其他问题,华为云市场提供SSL证书配置优化服务,专业工程师一对一服务,请直接单击一对一咨询进行购买,购买服务后,联系工程师进行处理。