近日,我司的一个产品的域名证书即将到期,本着上管天下管地中间管空气,就是不干正事的摸鱼原则,我来给他更新一波,谁叫我是红领巾呢。

一、申请证书

能白嫖的绝不花钱,这是我们最基本的原则。因此可以白嫖阿里云的免费SSL证书。

  1. 打开阿里云,登录控制台。在服务列表中找到“SSL证书(应用安全)”。
  2. 进入数字证书管理服务,选择SSL证书,免费证书,白嫖的证书有效期只有1年,因此如果要白嫖,则需要每年都进行申请更新。如果是第一次使用SSL证书服务,那么可以选择立即购买。阿里云要求,对于每个实名主体个人/企业,一个自然年内可以领取一次数量为20的免费证书资源包。因此白嫖需理智,注意规划每个自然年年内域名证书的使用分配。
  3. 0元羊毛薅到手后,选择创建证书,这时可以看到下方列表中增加了一个待申请的证书,点击证书申请,填写证书绑定域名,点击下一步进行验证。

    域名验证方式会自动选择到“自动DNS验证”,点击下一步进行验证。

    点击验证,验证通过后,就可以点击提交审核,等待审核通过即可下载部署证书。至此,证书的申请操作完成。

二、下载部署

证书一旦审核通过签发,我们就可以将其下载并部署到我们的服务器上。

  1. 点击下载按钮,阿里云会提供多种服务器的证书文件下载。由于我司采用前后端分离的部署方式,前端使用nginx作为web服务器,那么这里以nginx为例来说明如何进行部署。
  2. nginx服务器的密钥由pem文件和key文件组成,将下载得到的两个文件上传到我们的应用服务器上的任意位置,然后打开nginx配置文件,在相关server监听的配置中加入如下的配置。这里我们假设下载的文件是abc123.com.pem和abc123.com.key,将其上传到了/etc/nginx/ssl/目录下。
server{
    listen 8888;
    listen 443 ssl;
    charset utf-8;
    server_name abc123.com;

    ssl_certificate      /etc/nginx/ssl/abc123.com.pem;
    ssl_certificate_key  /etc/nginx/ssl/abc123.com.key;

    ...  
}
  1. 重启nginx服务。
  2. 验证证书是否生效。打开浏览器,输入url,点击域名前的小锁,如下图:

点击连接是安全的,显示连接详情,显示证书有效,说明当前的https的证书仍然可用。

nginx验证证书有效性 nginx证书过期_nginx验证证书有效性


点击证书有效,查看证书的有效期。

nginx验证证书有效性 nginx证书过期_nginx验证证书有效性_02


这里的有效期和阿里云控制台下载证书的有效期对应,说明证书设置生效。