美文网首页
更换SSL证书

更换SSL证书

作者: 本然酋长 | 来源:发表于2020-06-23 17:38 被阅读0次

    前言

    今天公司的官网又过期了。然后发现我居然没有记录更换ssl证书的博客,今天就把这个过程记录下来吧。

    申请证书

    ssl证书大部分都是要花钱买的,但是也有做免费ssl证书的平台,比如我用的这个:https://www.sslforfree.com/ 今天登陆它发现我的账号居然被注销了,需要重新注册。新登陆进去才发现,好像平台换了。也好,摸索一边,记录一下。
    现在收费选项变多了,不过依然有那个免费选项,总之就是三个月有效期、只能设置一个域名啥的限制,麻烦点,但是不给钱,一路设置到最后验证就可以了。

    验证

    平台总共给了三种验证方式,还是分别介绍下吧,要不就真的没啥可说的了。

    邮件验证

    这可能是最简单的验证方式,它根据你要验证的域名,生成相应的邮箱地址,你能收到这个邮件,进行下一步认证就行了。可惜的是,我没有用这个域名弄邮件,所以这个我不能用。

    DNS验证

    这个也是很方便的,它会让你在自己的dns上配置一个cname的解析,到它的一个指定的地方,然后它能走通这个解析,就验证了你的身份。这次我打算用这个验证。

    上传文件验证

    之前因为域名的一些问题,我用的都是这个,它是让你把一个指定的文件拷到你要验证的域名的指定路径下。它能访问通,就通过了验证。

    配置ssl证书

    通过了刚才的验证就可以下载证书文件了,下载默认格式的或者nginx格式的都可以。根据官网的教程,首先把证书文件上传上去到服务器,然后解压缩。在进行如下操作:

    mv certificate.crt certificate.crt.1
    cat certificate.crt.1 ca_bundle.crt >> certificate.crt
    

    然后,在你nginx配置文件的server节点下添加下面的配置:

            listen       443 ssl;
            server_name  你的域名;
    
            ssl_certificate      /opt/nginx/cert/certificate.crt;
            ssl_certificate_key  /opt/nginx/cert/private.key;
    
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
    
    

    把证书文件考过去就好了。

    备注

    启动的时候可能会报个错误

    nginx: [emerg] cannot load certificate "/opt/nginx/cert/certificate.crt": PEM_read_bio_X509_AUX() failed (SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line)
    

    这是因为上面合并的cat命令会导致两个文件合并的连接处没有换行,换行了就没有了。不过,不处理似乎也不影响其https的功用。

    相关文章

      网友评论

          本文标题:更换SSL证书

          本文链接:https://www.haomeiwen.com/subject/jruhfktx.html