DirectAdmin的Let's Encrypt证书在阿里云CDN的配置

本文主要介绍在阿里云CDN平台中,基于DirectAdmin的Let’s Encrypt自动签发HTTPS/SSL证书有关配置经验。对Let’s Encrypt或其他SSL证书具有参考价值。

前提

本文前提是已经在服务器端配置完成Let’s Encrypt证书,并且用直接解析的方式测试无误。参见:

DirectAdmin开启SSL并配置Let’s Encrypt自动生成HTTPS证书

阿里云新建证书

配置HTTPS证书的CDN前,需要先新建证书。

进入阿里云证书服务 https://yundun.console.aliyun.com/?p=cas

点击[我的证书]  -> 点击[上传原有证书]

弹出窗口中三个文本框:名称、文件(cert)和私钥(key)。

名称随便写。

在这里比较重要的部分是,证书文件,不仅仅需要提供域名自身的证书,还需要提供一个叫做中间证书的东东。找到这个证书是关键的。在DirectAdmin中,自动签发的Let’s Encrypt证书位置在

/usr/local/directadmin/data/users/user-name/domains

也就是在DA的各个用户配置文件夹下的domain里面,进入以后会看到N个文件,假设域名为aaa.com,则能看到:

[root@aliyunserver domains]# ls
aaa.com.cacert              aaa.com.conf     aaa.com.key
aaa.com.cert                aaa.com.csr      aaa.com.san_config
aaa.com.cert.combined       aaa.com.ftp      aaa.com.subdomains
aaa.com.cert.creation_time  aaa.com.ip_list  aaa.com.usage

我们需要的是其中.cert.combined(证书集合)和.key(私钥)
打开aaa.com.cert.combined,这里面就包含了中间证书。里面是两段代码,中间是用一个空行分割,类似:

-----BEGIN CERTIFICATE-----
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
Ift7htGo6I53s8fWWQ3tJ5mOKXdTiYJiMQxm9s83UDgCUfukZh3uaMBy1cWCMVLH
PvgQxZNnBRdZzxfIyxrRrzLgFJKy+8mVlA0MMX9Sd38vzLyjylgcsBPSCSnrpsWX
gXfNMBCm9W5QYtLEquAU/iZKQvueXqiMQmMh5mBM+1QFfo5ESK7KvEpNXYTmOfJR
It7xSSWVrg3hbfYY9H3uvQsrz0kNNzfiTalXmzRUf/Vy5f2bTV79ARySZfMiQ5yb
3tn5I4qwO1TUTmWzzXiwLeebwus7h27QvFIWvuXsEWQ2ZVVOOyDZ+h8Yuq+V8sSb
lOZcLmC4ndGDPnZSGcV3cclSN98PMVI=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
-----END CERTIFICATE-----

类似这种格式,我上面这段证书删掉了许多行,实际比这个长。它就是我们阿里云证书中需要的cert证书代码。但是其中有一个很重要的问题,必须要删掉中间的空行。就是上段中第10行的位置,那个空行是必须要删掉的。切记。
至于如何把这堆代码复制出来,关于复制我是没找到什么好方法,下载嫌麻烦,直接一点一点复制粘贴出来的,写入证书代码中。

随后找到aaa.com.key,全部复制到私钥中。就可以了。

开启阿里云CDN中HTTPS证书

按照一般步骤在阿里云CDN系统添加域名,修改好解析,之后进入域名CDN管理。修改其中HTTPS配置。点击开启,然后选择刚才添加的证书。强制跳转的部分,根据实际情况,我是选择的http强跳https。

SSL/HTTPS证书检测

配置完成后,需要检测一下。手动查看是不行的。一些SSL/HTTPS证书服务商提供了一些即免费又完善的检测服务。

点赞