阿里巴巴云SSL证书服务支持下载和安装证书到Apache服务器,使Apache服务器支持HTTPS安全访问。本文介绍证书安装的具体操作。
先决条件
1、443 端口(HTTPS 服务的默认端口)已在您的 Apache 服务器上打开。
2、mode_ssl.so 模块(启用 SSL 功能)已安装在您的 Apache 服务器上。
3、本文档中的证书名称以域名为例,例如:证书文件名为domain name_public.crt,证书链文件名为domain name_chain.crt,证书密钥文件name 是域名.key。
4、如果在申请证书时不选择系统自动创建CSR,则.key文件不会包含在证书下载包中。
注意 .crt 扩展名的证书文件是 Base64 编码的 PEM 格式文本文件,可根据需要修改为 .pem 和其他扩展名。
操作步骤
1、将下载的Apache证书文件解压到本地保存。
解压后的文件夹里有3个文件:
证书文件:后缀或文件类型为.crt。
证书链文件:以.crt为后缀或文件类型。
密钥文件:后缀或文件类型为.key。
2、在Apache安装目录下新建一个cert目录,将解压后的Apache证书、证书链文件、密钥文件复制到cert目录下。如果需要安装多个证书,需要在Apache目录下创建相应数量的cert目录来存放不同的证书。
注意如果在申请证书时选择手动创建CSR文件,请将手动创建的key文件复制到cert目录下,命名为domain name.key。
3、修改httpd.conf配置文件。
1)在Apache安装目录下,打开Apache/conf/httpd.conf文件,找到如下参数,按照下面的注释进行配置。
#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务。 Apache 默认不启用此模块。 #包含conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”
#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。 #Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。
注意如果您在httpd.conf文件中没有找到上述配置语句,请确认您的Apache服务器中是否已经安装了mod_ssl.so模块。运行 yum install -y mod_ssl 命令安装 mode_ssl 模块。
2)保存 httpd.conf 文件并退出。
4、修改httpd-ssl.conf配置文件。
2)打开Apache/conf/extra/httpd-ssl.conf文件,找到如下参数,按照下面的注释进行配置。
注意根据操作系统的不同,http-ssl.conf 文件也可能存储在 conf.d/ssl.conf 目录中。
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com。
DocumentRoot /data/www/hbappserver/public SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。 SSLHonorCipherOrder on SSLCertificateFile cert/domain name1_public.crt # 将domain name1_public.crt替换成您证书文件名。 SSLCertificateKeyFile cert/domain name1.key # 将domain name1.key替换成您证书的密钥文件名。 SSLCertificateChainFile cert/domain name1_chain.crt # 将domain name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。 </VirtualHost> #如果证书包含多个域名,复制以上参数,并将ServerName替换成第二个域名。 <VirtualHost *:443> ServerName #修改为申请证书时绑定的第二个域名www.YourDomainName2.com。 DocumentRoot /data/www/hbappserver/public SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。 SSLHonorCipherOrder on SSLCertificateFile cert/domain name2_public.crt # 将domain name2替换成您申请证书时的第二个域名。 SSLCertificateKeyFile cert/domain name2.key # 将domain name2替换成您申请证书时的第二个域名。 SSLCertificateChainFile cert/domain name2_chain.crt # 将domain name2替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。 </VirtualHost>
注意请注意您的浏览器版本是否支持SNI功能。如果不支持,多域证书配置将不生效。
2)保存 httpd-ssl.conf 文件并退出。
5、重启Apache服务器,使SSL配置生效。
在Apache bin目录下执行如下命令:
1)停止 Apache 服务。
apachectl -k stop
2)打开 Apache 服务。
apachectl -k start
6、可选:修改httpd.conf文件,设置HTTP请求自动重定向到HTTPS。
在httpd.conf文件的 中间,添加如下重定向代码。
重写引擎开启
RewriteCond %{SERVER_PORT}!^443$
重写规则 ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
接下来的步骤
证书安装完成后,可以通过登录证书绑定的域名来验证证书是否安装成功。
https://domain name #domain name替换成证书绑定的域名。
如果网页地址栏出现小锁,则表示证书安装成功。
DV SSL和OV SSL数字证书部署到服务器后,当您的浏览器访问网站时,会显示如下效果:DV/OV证书安装效果图
证书安装完成后,如果无法通过https正常访问网站,需要确认安装证书的服务器443端口是否被其他工具打开或阻塞。如果您使用的是阿里云ecs服务器,请在ECS控制台的安全组页面配置443端口释放。
:如何在Apache服务器上安装SSL证书?SSL证书安装的操作步骤,https://vps.caogenba.com.com/68491.html
如今做站的人不多了,多个朋友多条路子,加入站长论坛和大佬们同道交流,Tips:可以免费打广告哦~ 点击立即加入>>