购买付费Comodo SSL证书及安装配置图文教程

LiaoSam2018-04-04外贸建站27 评论

购买付费Comodo SSL证书及安装配置图文教程1

https 正变得愈发重要,因为谷歌不止一次明确地强调会对那些配置了 https 的网站给予更高的排名。

在今年更新的课程里面 VPS 建站部分,我教了大家怎么用 LNMP 1.4 安装包自带的 SSL 安装模块进行证书安装。在以前的课程中我们用的是 lnmp1.3 版本,是手动去利用 Let’s Encrypt 安装脚本去安装 SSL 证书的。

在一些情景下,我们总会碰到需要购买付费SSL证书的情况,比如以下情况的任意一种:

  • Let’s Encrypt 的免费证书虽然用着也OK,但你希望安装一个效期更久的证书不需要担心短期会过期。
  • 当你有多个二级域名网站的时候,你希望能共用一个SSL证书。

那么这些情况下你就可能会需要。

比如 Let’s Encrypt 的免费证书有效期一般为 90 天,每隔 90 天之前就要进行续期(当然上一篇文章里我已经给了自动续期的教程指南)。

Let’s Encrypt 证书经历过几次更新升级,名称改成 certbot 了。免费的证书脚本总是不断升级改版,连带着我也要定期去学习和修改相应的续期设置,提高了我的学习成本和时间占用,麻烦。

再比如我的这个博客,除了 www 之外,还有 static,还有 go 等二级域名,我希望能有一个泛域名证书,使得主站和二级域名站都能共用。当然,以前的 Let’s Encrypt 免费证书也是能满足我的需求的。但是从 Let’s Encrypt 到 Certbot,以前多个域名可以一起生成证书,但现在的 Certbot 好像总是有这样那样的问题。

想到免费的不便,想到我除了主站之外子站也要用 SSL,最后,简而言之:我想直接用一个付费证书,一了百了。

于是我找到了一个国外 SSL 证书的 Reseller 买了 Comodo 的 ssl 证书:”PositiveSSL Wildcard Certificate”,三年的费用一共是一百多美金。当然如果你没有多个二级域名网站,买另外一种证书即可,会很便宜,一年几美金即可。

如果你也需要购买付费证书的话,那么可以按照本文当中的过程来购买和配置安装。


一、购买你需要的SSL证书

SSL 的厂家有很多,比如说比较知名的有 Symantec,Comodo,GeoTrust 等。如果直接从这些厂商买的话,价格会比较贵,所以一般我们会选择从 Reseller 那里买。

我是从这个网站:https://cheapsslsecurity.com/ 买的。

一般情况下,如果你只是建一个英文网站,或者建一个自己的中文博客,那么用这个 $6.95/yr 的 Positive SSL Certificate 或 $26.24/yr 的 OV SSL Certificate 就可以了。

购买付费Comodo SSL证书及安装配置图文教程2

购买付费Comodo SSL证书及安装配置图文教程3

至于我买的证书为什么价格贵,这是因为适用于 Sub-Domains 的泛域名 SSL 证书的单价就是定的高一些。估计是因为厂商觉得你有很多 sub domains,应该是大企业,因此价格就定高了。

不过没事,不到一千块,用三年,咱也可以接受,不差钱!我是用 PayPal 买的,有双币信用卡也可以。

买的时候注意看,有可能还有一些额外的优惠。以上的价格可能商家会不定期调整,只供参考。


二、收到确认邮件

购买付款成功之后,收到来自于 CheapSSLSecurity 的订单确认邮件,随后没多久又收到来自于 Comodo 的订单确认邮件。

CheapSSLSecurity 发来的邮件里有如下提示:

购买付费Comodo SSL证书及安装配置图文教程4

CheapSSLSecurity 的主页上,你可能找不到登陆的入口。点击 My Account 可以登录,或者通过这个地址登陆:https://cheapsslsecurity.com/client/

或者,你随便点击一个产品,如:https://cheapsslsecurity.com/comodo/positivessl.html

在产品页面上方会有个 My Account。填写邮箱地址和密码即可登陆。

上面的截图里说的是什么?说的是要想使用 SSL 证书,就必须先要获得一个 CA 证书。获取 CA 证书要经历几个步骤,其中一个步骤是你必须先要获取一个 CSR(证书签发请求)。


三、生成 CSR 和 Private Key

在 Xshell 中连接了 VPS 之后,执行下面命令:

cd /usr/local/nginx/ && mkdir ssl

然后执行:

cd ssl

然后执行:

openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out yourdomain.csr

请注意自行替换上面的 yourdomain 变成你的域名。比如 xyz_com.csr 。

在生成 CSR 文件的时候,会问你一些问题。如国家,省份,城市,公司名等等:

购买付费Comodo SSL证书及安装配置图文教程5

OK,确定之后,就已经创建完成了。

用 XFTP 打开 /usr/local/nginx/ssl ,可以看到里面有两个文件:private.key 和 xyz_com.csr

把 xyz_com.csr 文件下载到本地,用notepad++打开,选中 —–BEGIN CERTIFICATE REQUEST—– 和 —–END CERTIFICATE REQUEST—– 中间的部分,这部分信息就是后面我们要用的。

购买付费Comodo SSL证书及安装配置图文教程6

此时不要关闭 Notepad++。后面还需要复制这个 CSR 信息。

四、请求签发证书(Issue Certificate)

然后在 CheapSSLSecurity 后台订单处理的地方,找到 Issue Certificate。

填写你的域名。(如果你申请的是泛域名 *.xyz.com 的证书,填写 *.xyz.com)

这个页面有两块重要内容:

第一、选择验证方式

为了验证域名的所有权,需要你选择验证方式。我推荐图中 1,2,3 这三种。一般情况下,看你网站现在是哪种情况可以访问。比如你现在已经启用了 https,那么可以选择第 2 种 https。如果还没有启用 https,可以选择 http 的这种。

推荐用第 3 种方式,使用 DNS 验证,在域名解析记录那里添加一条 CNAME 的解析记录,这种方式最简单。图中的 email 的方式不推荐。如果你用的是第 1 或第 2 种方式,怎么验证文件,请见本文评论区里的答复。

购买付费Comodo SSL证书及安装配置图文教程7

勾选了 DNS 之后,会获取到一长串的 CNAME 域名。形式为二级域名:xxxxxxxxxxx.yoursite.com,这个是主机名,把它指向值为 同样一长串二级域名的 yyyyyyyyyyyyyyyy.comodoca.com 网站。

购买付费Comodo SSL证书及安装配置图文教程8

这里,注意看截图。把此图里,你的域名前面的下划线标出的 CNAME 一串长二级域名部分 xxxxxxxxxxx 称为 A,把下面整个红色框住的 yyyyyyyyyyyyyyyy.comodoca.com 称为 B。

第二、去Namesilo 去添加 CNAME 解析记录

具体操作为:在 Namesilo 登录状态下,点击顶部的 Manage My Domains,进入域名列表页。

购买付费Comodo SSL证书及安装配置图文教程9,Namesilo添加CNAME记录1

看到你的域名,直接点击,进入域名操作页面 Domain Console:

购买付费Comodo SSL证书及安装配置图文教程9,Namesilo添加CNAME记录2

点击 DNS Records(解析记录)右侧的 Update 链接,进入修改更新解析记录。

购买付费Comodo SSL证书及安装配置图文教程9,Namesilo添加CNAME记录3

看图,点击 CNAME,在需要填写的记录栏处,HOSTNAME 里填写 A 那部分,即分配给你来验证的二级 CNAME 域名。在 TARGET HOSTNAME 那里,填写 B 部分整个完整的一长串地址。

然后点提交按钮。等待生效即可。一般 2 小时内即可生效。

继续下去。

第三、粘贴你之前复制的 CSR 代码

购买付费Comodo SSL证书及安装配置图文教程10

提交,OK。接下来完成域名所有权的验证即可。

然后就等待 CA 证书发放了。


五、收到 CA 证书及相关证书

如果一切顺利,很快大概12小时内,你会收到一封来自 Comodo 的邮件,通知你 Certificates have been issued,附件有证书文件。

下载邮件中的证书文件附件,解压缩到本地,里面有四个文件,分别是:

  • Root CA Certificate – AddTrustExternalCARoot.crt
  • Intermediate CA Certificate – COMODORSAAddTrustCA.crt
  • Intermediate CA Certificate – COMODORSADomainValidationSecureServerCA.crt
  • Your PositiveSSL Wildcard Certificate – STAR_domain_com.crt (注意你们买的如果是 6.95美金一年的Positive SSL Certificate,这里就是 domain_com.crt )

购买付费Comodo SSL证书及安装配置图文教程11


六、证书上传合并

把证书压缩包里的 4 个证书文件全部上传到 /usr/local/nginx/ssl 内。

执行一遍 cd 命令:

cd /usr/local/nginx/ssl

确保 Xshell 中位置当前所处于 ssl 文件夹下,[root@li~123 ssl]#

把签发的你的域名有关的证书和 Intermediate CA 证书用下面的命令合并成一个证书文件:

cat xyz_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > signed_cert_plus_intermediates.crt

注意请自行修改 xyz 为你的域名。如果成功后,你应该看到  /usr/local/nginx/ssl 内多了一个 signed_cert_plus_intermediates.crt 的文件(看不到请刷新)

再用 Root CA 证书和 Intermediate CA 证书生成验证 OCSP response 信任的验证链所用的证书:

cat AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt > root_CA_cert_plus_intermediates.crt

七、生成 dhparam

确保当前所处于 ssl 文件夹下,[root@li~123 ssl]#

执行下面的命令:

openssl dhparam -out dhparam.pem 2048

一般就用 2048,有些人用了更高的安全测试分也会用 4096。随便。安静等待创建生成,大概需要 10 – 20 分钟。

成功后,文件夹 /usr/local/nginx/ssl 内会多出一个 dhparam.pem 文件。


八、配置 Nginx Vhost Conf  文件

修改网站的 conf 配置文件。位置:/usr/local/nginx/conf/vhost/ 下。

在 443 Server 段的具体配置如下 (注意修改 xyz.com 为你的域名):

listen 443 ssl http2;
server_name www.xyz.com xyz.com; 
root  /home/wwwroot/www.xyz.com; 
index index.html index.htm index.php default.html default.htm default.php;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';

ssl_certificate /usr/local/nginx/ssl/signed_cert_plus_intermediates.crt;
ssl_certificate_key /usr/local/nginx/ssl/private.key; 

ssl_prefer_server_ciphers on;  
keepalive_timeout 75; 
ssl_session_timeout 1d; 
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_dhparam /usr/local/nginx/ssl/dhparam.pem;

ssl_stapling on; 
ssl_stapling_verify on;
## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /usr/local/nginx/ssl/root_CA_cert_plus_intermediates.crt;

resolver 8.8.8.8 8.8.4.4 valid=300s;


include wordpress.conf;
#error_page 404 /404.html;
include enable-php.conf;

.......

下面的配置就不贴了,主要就是上面那段紫色字体部分。

修改完毕后,保存,上传覆盖。


九、重启 Nginx 服务

service nginx restart

十、查看证书详情

在 Chrome 或者 Firefox 浏览器中访问你的网站,点击地址栏左边的小绿锁图标。弹出点击证书(有效)

购买付费Comodo SSL证书及安装配置图文教程12

购买付费Comodo SSL证书及安装配置图文教程12购买付费Comodo SSL证书及安装配置图文教程13

OK!搞定!

十一、SSL TOOLS

CheapSSLSecurity.com 网站上,还提供了一些 SSL证书相关的实用工具,如果有需要可以看一下这个页面:

https://cheapsslsecurity.com/ssltools/

OVER!


喜欢这篇文章的朋友们,不要吝惜你们的赞哦!

 

本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。

分享到微信朋友圈

LiaoSam
LiaoSam
识不足则多虑,威不足则多怒,信不足则多言。

27条评论

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

已读说明
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
呃,评论有点多呢... 料网小秘书为您玩命加载中...
  1. #9
    tina

    安装了为什么不成功呢?443到底该怎样呢?

    2天前回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @tina 你的问题太笼统,没办法回答你的问题。你可以用这个工具先检查一下,到底是否配置 OK 了。https://cheapsslsecurity.com/ssltools/ssl-checker.php
      2天前回复
      • tina

        @Liaosam 我一步一步按照你的步骤操作,443文件几乎不用更改已经是你文章显示的(域名已经自动是我自己域名)。所以我疑惑443到底怎么弄呢,我的一直安装不成功。

        1天前回复
  2. #8
    looper

    请问料神大大,这个ssl证书,有手机版和小语种吗?

    2天前回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @looper 关于一些建站问题,你没有弄清楚。手机版跟电脑版是一样的,现在只要你网站是响应式(responsive)自适应设备宽度设计,就还是一样的访问域名,只是在手机端,看到的页面样式和要显示的内容,和电脑端是不完全一致的。比如料网首页你用电脑访问和手机上访问看到的布局就是不一样的。所以你不用担心手机有没有,我按照你的意思去理解和回答的话,是有的。
      关于小语种,看你说你是怎么建小语种的。如果是用二级域名的方式,比如 es.abc.com, de.abc.com,那么肯定是选择 wildcard certificate,这种就是针对 *.abc.com 全包含的。但如果你用的是二级目录的形式来建立小语种版本的网站,那么就不需要选择 wildcard 这种泛域名证书了。
      2天前回复
      • looper

        @Liaosam 该评论为私密评论

        1天前回复
  3. #7
    mat

    为啥,我这里过了12个小时还收不到邮件

    5个月前 (08-28)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @mat 搞定了没有?
      5个月前 (09-04)回复
  4. #6
    john

    军哥包LNMP 1.5已经添加了对通配符证书的支持。https://lnmp.org/faq/letsencrypt-wildcard-ssl.html

    而且料大的Linode 建站教程也建议使用1.5的包(含最新PHP版本)。毕竟现在AVADA 后台已经建议升级PHP7.2.

    7个月前 (06-12)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @john 感谢兄弟的提醒!1.5都出来正式版了,速度真快。
      6个月前 (07-19)回复
  5. #5

    该评论为私密评论

    8个月前 (05-31)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @Lily 尽量选择域名解析CNAME认证。

      用文件认证的方式稍微有点麻烦,你要创建 .well-known 文件夹和 PKI-validation 文件夹,然后再把文件放进去。创建 .well-known 文件夹要用命令。

      在 xshell 已经成功连接的情况下,分别执行下面的两行命令:(把 www.xyz.com 换成你的)

      cd /home/wwwroot/www.xyz.com && mkdir .well-known

      cd .well-known && mkdir pki-validation

      然后在 XFTP 里面把 那个txt文件上传到 pki-validation 文件夹下

      3个月前 (10-06)回复
      • Alan

        @Liaosam 该评论为私密评论

        2周前 (01-08)回复
        • LiaoSam
          Liaosam,外贸综合症患者。
          @Alan 关于域名解析CNAME认证,怎么做的步骤,已经重新更新到文章里。如果需要可以 recheck 一下。
          2天前回复
  6. #4

    该评论为私密评论

    9个月前 (05-01)回复
  7. #3
    sara

    料大 在执行完openssl dhparam -out dhparam.cert 2048之后,只出现 dhparam.crt文件,没有你写的.pem的文件,而且我的网站conf文件的路径是/usr/local/nginx/conf/vhost 是不是有问题?打开以后也没有发现443server段的配置怎么办?

    9个月前 (04-20)回复
    • @sara openssl dhparam -out dhparam.cert 2048 这个地方应该是把cert改成pem才对

      8个月前 (05-21)回复
      • LiaoSam
        Liaosam,外贸综合症患者。
        @张皓昱 是的,谢谢指正。
        6个月前 (07-19)回复
  8. #2
    Jim

    该评论为私密评论

    10个月前 (04-05)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @Jim 让我想一下,可以考虑加进去。
      10个月前 (04-05)回复
      • Jim

        @Liaosam 该评论为私密评论

        10个月前 (04-05)回复
        • LiaoSam
          Liaosam,外贸综合症患者。
          @Jim 不过其实学员们对SSL证书的续期,可以完全参考这篇文章:https://www.liaosam.com/use-cron-service-and-certbot-for-renewal-of-letsencrypt-ssl-certificates.html
          也不是一定要用付费的证书的,看情况。
          10个月前 (04-05)回复
          • Jim

            @Liaosam 该评论为私密评论

            10个月前 (04-05)回复
  9. #1
    吉娃娃

    料大,以前免费的ssl证书怎么卸载呢。。。想装这个收费的是不是要把以前的卸载呢?

    10个月前 (04-04)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @吉娃娃 免费的证书你是 LNMP 1.3 下安装的还是 LNMP 1.4 下安装的?
      如果不清楚,启动 XFTP 的时候看一下 /root 下的下载的压缩包文件名。如果是 1.3 下安装的,先购买和配置再说。
      如果想稳定地使用免费的SSL证书,那要等我有空研究看看 Certbot 的自动续期命令。如果要装付费的证书,应该不管1.3还是1.4都可以直接安装配置。
      等搞完后,修改网站的 conf 配置文件,修改指向证书和 key 以及 dhparam.pem 的路径和文件名即可。
      10个月前 (04-04)回复
      • 吉娃娃

        @Liaosam 1.3的

        10个月前 (04-04)回复
        • LiaoSam
          Liaosam,外贸综合症患者。
          @吉娃娃 可以直接上了。
          10个月前 (04-04)回复