TrustAsia免费SSL证书的申请及其在Ubuntu下的Apache中的安装配置

最近着手部署个人代码实验室站点,使用了新的子域名lab.bunnyxt.com。为了支持HTTPS协议,需要新申请SSL证书。这里采用与本站点其他子域名之前同样的方法,使用腾讯云中申请TrustAsia的免费版证书,并且安装到Ubuntu Apache服务器中,特此记录。

SSL证书申请

首先登录腾讯云,注册账号,登录,进入控制台中的SSL证书页面,点击“申请免费证书”。

ssl-apply-free

弹出证书类型选择框,这里选择左侧的TrustAsia免费版DVSSL证书。

ssl-select-trust-asia

按照要求填写相关信息。注意:私钥密码是可选的,可以不设置。

ssl-input-info

填写完成后点击“下一步”,选择域名身份验证方式。TrustAsia免费颁发的是DVSSL证书,仅验证域名所有权。这一步就是在做域名所有权验证。这里根据个人情况选择,我选择“手动DNS验证”。

ssl-select-dns-verify

点击“确认申请”,提示“申请已提交,请尽快添加DNS解析记录”。

ssl-application-submitted

下面我们来做手动DNS验证。点击“查看证书详情”,显示“待DNS验证”。系统提示我们需要添加一条DNS解析记录。点击“操作指引”查看验证教程文档。这里我按照我的情况操作一遍。

ssl-waiting-for-verification

我的域名托管在GoDaddy平台上。访问GoDaddy网站,登录账号,进入域名bunnyxt.com的DNS设置页面,按照要求添加一条DNS解析记录,如下所示。TTL可以设置的短一些,如600秒,有助于更快通过验证。

ssl-godaddy-add-dns-record

稍等一会儿,等待CA机构扫描验证。验证成功后,会收到微信消息和手机短信提示。刷新页面,显示证书已经颁发。

ssl-issued

点击“下载”即可下载证书到本地。

安装SSL证书到Ubuntu Apache服务器

证书详情页面提供了安装证书的文档,写得已经比较详细了。这里记录下我按照文档安装证书的过程。

解压上一步最后下载下来的zip压缩包,文件结构如下。

ssl-certificate-folder

我的服务器程序是安装在Ubuntu系统上的Apache服务器,因此将证书Apache文件夹下的三个文件上传到服务器上。为了方便统一管理,这里我将这三个文件放置到/etc/httpd/ssl/lab.bunnyxt.com文件夹下。

ssl-upload-files-on-server

接下来配置Apache该站点的conf文件。这里不多赘述,网上有很多教程了。我的配置文件设置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<VirtualHost 0.0.0.0:443>

DocumentRoot /var/www/lab

ServerAdmin bunnyxt@outlook.com
ServerName lab.bunnyxt.com:443

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLEngine on

SSLCertificateFile /etc/httpd/ssl/lab.bunnyxt.com/2_lab.bunnyxt.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/lab.bunnyxt.com/3_lab.bunnyxt.com.key
SSLCertificateChainFile /etc/httpd/ssl/lab.bunnyxt.com/1_root_bundle.crt

</VirtualHost>

重点在最后四行,开启SSL以及配置SSL证书中的三个文件的位置。另外,第一行端口为443,区别于HTTP配置的80。

输入service apache2 restart,重启Apache服务器。其他相关配置完成之后,访问https://lab.bunnyxt.com,成功。可以看到Chrome中网址前的🔒标志,以及我们刚刚申请的证书。

ssl-certificate-in-chrome

至此,完成SSL证书部署操作。