Namecheap免费证书申请及配置过程记录

在论坛看到有大神发出了几个Namecheap的One year SSL certificate,虽然没说怎么用,但摸索了下,还是使用上了,趁着有空,折腾了一下Namecheap家的SSL申请过程。

经过我的测试发现,一个Namecheap账户只允许使用一次优惠码,而我当时比较傻,一次只申请了一个域名的SSL,看到论坛有大神说一次性申请了100个SSL,想想我有那么多需要测试的域名,又重新注册了一个账号,再次使用优惠码多申请了几个,虽说Namecheap给我通过了,但还是觉得很不地道,撸羊毛撸的太过了…
上面都是闲话,下面重点说说Namecheap的申请过程。
申请Namecheap免费SSL证书需要先生成CSR,可以参考这篇文章:利用openssl命令生成CSR文件
首先,选择已经支付好的订单,选择后面的ACTIVE,然后输入我们刚才生成的CSR,如图:
namecheap-certificate-issue-1-input-csr
我们所需要申请的域名会自动识别出来并自动输入到下面的Primary domain输入框,点击Next就能进行下一步了。
接下来要我们选择所使用的Web Server,作为一个Linux爱好者,我肯定选择Any other server (cPanel, Apache, NGINX, etc.)了:
namecheap-certificate-issue-2-check-server
接下来肯定是验证域名的归属,Namecheap给我们提供了三种方式,分别是域名邮箱、DNS记录、以及HTTP方式,如果有域名邮箱,使用域名邮箱验证肯定是最方便了,但是如果没有的话,只能选择后两个,我这里选择DNS-base方式验证,下拉选择DNS-base,然后点击next,会要求输入邮箱,如图:
namecheap-certificate-issue-3-dns-base
接下来是一个确认页面,确认无误之后,点击SUBMIT就能提交了。
提交之后,我们来到一个SSL详情页面,显示订单正在处理,然后点击验证方式后面那个EDIT METHOD右边的下拉按钮,会出现一个Get Recode,点击,就能看到对应的记录详情了,如图:
namecheap-certificate-issue-4-cname-recode
在弹出的页面到DNS管理面板添加对应的CNAME记录,比如说我HE的DNS:
namecheap-certificate-issue-5-cname-recode-he-dns
然后稍等一会,就会显示已经处理成功并且出现下载证书按钮:
namecheap-certificate-issue-6-issued-and-download-certificate
同时,我们之前输入的邮箱也应该收到了一封包含证书的压缩包。
点击之后,就能下载对应的证书文件。下载下来的是一个.zip压缩包,里面包含了一个.crt及.ca-bundle格式文件,然后,我们将这两个文件合并成一个(也就是补齐证书链),假设域名为cloudbool.com,则命令如下:

cat elsenow_com.crt elsenow_com.ca-bundle > elsenow_com_new.crt

如果遇到** nginx: [emerg] PEM_read_bio_X509_AUX(“/root/elsenow-ecc.crt”) failed (SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line)**错误,可参考这篇文章:Nginx提示SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line错误解决
然后搭配我们生成好的对应的.key文件,和这个elsenow_com_new.crt文件,就能正常使用了,NGINX示例配置如下:

server {
    listen 443;
    server_name cloudbool.com;
    ssl on;
    ssl_certificate /var/ssl/elsenow_com_new.crt;
    ssl_certificate_key /car/ssl/elsenow_com_new.key;
    ssl_prefer_server_ciphers on;
}

配置正确之后,能看到浏览器变绿,下面是证书相关信息:
namecheap-certificate-issue-7-comodo-certificate-show-1
namecheap-certificate-issue-7-comodo-certificate-show-2