本文主要介绍在阿里云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证书服务商提供了一些即免费又完善的检测服务。
- 亚数信息 https://www.trustasia.com/tools-ssl-state/ 简单快速直观
- 镭铭网络 https://csr.sslaaa.com/ssl-checker.php 简单快速
- Qualys,Inc 旗下 SSL Labs https://wosign.ssllabs.com/ 强大专业