环境
Windows 2008 + BT [apche + php cgi]
操作
在BT的界面上传了新申请的SSL证书,然后重启Apache,但一直提示无法启动
在系统日志里面显示如下错误
在apache自己的日志里面报错如下
一开始还以为是配置文件出错,使用 httpd -t 检查配置文件语法,显示OK
然后搜索了下【AH00016: Configuration Failed】得到了篇文章
其中一个网址:http://httpd.apache.org/docs/2.4/en/ssl/ssl_faq.html#verify
可以用来验证SSL私钥与其证书匹配
主要命令如下:
# x509 对应 crt 文件
$ openssl x509 -noout -modulus -in server.crt | openssl md5
# rsa 对应 key 文件
$ openssl rsa -noout -modulus -in server.key | openssl md5
# 通过以上两个命令得出的Md5值一样,则表示证书匹配
# 还有一个XXX_chain.crt文件,没有用
更多SSL配置,参考官方文档
以上配置完之后,在微信【小程序】上的请求一直报错:
分析:
之前的证书是在宝塔的后台配置的,没有在配置文件中添加[SSLCertificateChainFile
]配置项,可能是其自动设置了---未找到具体原因
换证书时,我们是手动上传,然后修改apache的配置文件,但也没有配置[SSLCertificateChainFile
],导致【小程序】握手失败
但是,在浏览器中访问却是正常,无法解释!!
解决:
在 virtualhost 443 的虚拟主机段中,添加[
SSLCertificateChainFile] ,然后重启 apache