letsencrypt证书上传到阿里云SLB负载均衡

letsencrypt证书上传到阿里云SLB负载均衡

简介

最近在阿里云开通了一个SLB负载均衡实例,然后把ECS上申请的免费的letsencrypt证书上传到SLB下.

按照简书上的这个流程: letsencrypt证书上传到阿里云SLB

但是出现了一个奇怪的现象.浏览器,PC,IOS等设备Https访问均正常,但是所有的安卓设备微信扫码小程序登陆却提示证书错误:err:request:fail ssl hand shake error


SSL诊断

使用SSL在线诊断工具SSL检测 .可以看到确实是证书存在一些问题.在网上baidu和google搜寻也没有太多可用的资料.

但是我将该域名解析到ECS本地(SLB上的letsencrypt证书就是该ECS上申请的).再次利用SSL在线诊断工具,发现证书一切正常.安卓访问该域名也没有问题.

于是,初步判断是证书上传到SLB后出现的问题.


解决方案

根据阿里云的文档SSL要求.letsencrypt是中级证书颁发机构,申请下来的证书包含了多个证书文件.其中包含以下主要的4个文件:

1
2
[root@DWD-BETA m.betaapi.haoshiqi.net]# ls
cert.pem chain.pem fullchain.pem privkey.pem README

cert.pem #服务器证书

chain.pem #浏览器需要的所有证书但不包括服务端证书,比如根证书和中间证书

fullchain.pem #中级证书,包括了cert.pem和chain.pem的内容

privkey.pem #服务器证书私钥

由于刚才只将cert.pem服务器证书和privkey.pem服务器证书私钥文件上传到SLB.所以出现证书错误的异常情况.


解决

根据上面阿里云的文档,在阿里云SLB上创建证书时,将cert.pem证书和fullchain.pem证书内容复制到”公钥证书”栏中.

注意:服务器证书(cert.pem)放第一位,中级证书(fullchain.pem)放第二位,中间不能有空行。

接下来将privkey.pem私钥证书放在”私钥”一栏中.

本文标题:letsencrypt证书上传到阿里云SLB负载均衡

文章作者:Jesse

发布时间:2018年10月15日 - 11:10

最后更新:2019年02月17日 - 17:02

原始链接:https://jesse.top/2018/10/15/Linux-Basic/SSL/letsencrypt证书上传到阿里云SLB/

许可协议: 禁止商业用途 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!