在Apache服务器下配置HTTPS协议主要有三个步骤:
1、申请CA证书; 2、域名验证;3、配置Apache 。
前期工作:需要一个已备案的域名,并且成功解析到你的Apache服务器上。
一、申请CA证书
证书的获取方法的很多种,在这里我使用的是在阿里云平台申请的Symantec(赛门铁克)免费证书。
申请主要步骤如下:
1、登录阿里云后台,选择“产品”->“CA证书服务”。
2、开始CA证书的申请,选择“免费型DV SSL”->"Symantec"。然后按提示完成申请订单。
3、补全证书信息:填写证书绑定域名、个人信息,然后提交审核。
4、在填写个人信息的时候需要选择域名的验证方法,我选择的是DNS,如图:
个人信息填写
5、等待审核通过之后即可下载证书,然后复制证书文件到Apache服务器上进行下一步配置。
二、域名验证
域名授权配置方法如图所示:
域名授权配置
我的相关配置如下:
添加解析
三、配置Apache
1、在阿里云后台下载证书的时候,选择Apache版本的证书云下载。
2、下面是阿里云的关于证书的配置文档说明:
1. 证书文件214051257410097.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214051257410097.key、证书公钥文件public.pem、证书链文件chain.pem。
( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214051257410097.key;
( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf
( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile cert/214051257410097.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/chain.pem
( 4 ) 重启 Apache。
( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置。
3、补充:
上面只是一些关键的步骤,根据本人的经验,如果该Apache服务器之前是没有配置过HTTPS的话,按照着上面的步骤来一步步完成,到最后面一般是启动不了Apache服务器的,它还需要确保下面的配置:
(1) 修改httpd-ssl.conf文件里面的 DocumentRoot 的值与httpd.conf文件里面的保持一致。
(2) 把httpd-ssl.conf文件中所有的apache的路径替换为你实际的APACHE的路径。
(3) 如果启动apache还是失败的话,则把所有的路径都换成绝对路径。
(4) 再重启Apache 。
作者:Nosee123
链接:https://www.jianshu.com/p/262c53d72923