美文网首页
从Let’s Encrypt获取免费的HTTPs证书

从Let’s Encrypt获取免费的HTTPs证书

作者: 笑靥千年 | 来源:发表于2020-05-13 20:03 被阅读0次

    Let’s Encrypt也是一个 CA 机构,但这个 CA 机构是免费的,官方推荐的是使用Certbot,但是个人感觉那个工具配置有点儿繁琐,对于阿里云DNS支持不好(也可能是自己不会用),这次介绍一下另外一个工具,github:https://github.com/Neilpang/acme.sh

    1:安装

    curl  https://get.acme.sh | sh
    

    2:生成证书

    认证方式分为http和DNS两种

    http验证

    http验证需要在服务器上进行,因为nginx、apache、80端口验证这些有自动化操作在本地执行,待申请到证书后,nginx、apache需要手动配置一下。

    //apache or nginx:使用这两种服务器,acme.sh可以自动修改配置完成验证,最后再恢复配置,前提是申请证书的这个域名需要在这两种服务器中有配置
    acme.sh --issue  -d mydomain.com   --apache
    acme.sh --issue  -d mydomain.com   --nginx
    //根目录:acme.sh 会全自动的生成验证文件, 并放到网站的根目录, 然后自动完成验证. 最后删除验证文件
    acme.sh  --issue  -d mydomain.com -d www.mydomain.com  --webroot  /home/wwwroot/mydomain.com/
    //80端口:如果服务器没有网站,80端口是空闲的,acme.sh也可以自己临时充当web服务器验证
    acme.sh  --issue -d mydomain.com   --standalone
    
    DNS验证

    DNS的强大之处在于不需要任何服务器, 不需要任何公网ip,同时支持通配符,这里不介绍手动添加txt 记录完成验证的方式,那种方式比较麻烦,这里介绍阿里云自动验证的方式。
    首先要在阿里云配置accesskey,登陆阿里云,在点击我的->accesskeys->创建AccessKeys->得到AccessKey ID和Access Key Secret

    //1:配置阿里云账号
    vim .acme.sh/account.conf
    //添加key和secret
    #LOG_FILE="/home/xx/.acme.sh/acme.sh.log"
    #LOG_LEVEL=1
    
    #AUTO_UPGRADE="1"
    
    #NO_TIMESTAMP=1
    SAVED_Ali_Key='xxxxxx'
    SAVED_Ali_Secret='xxxxxx'
    USER_PATH='/sbin:/bin:/usr/sbin:/usr/bin'
    
    //2:通过阿里云DNS自动获取通配符证书
    .acme.sh/acme.sh  --issue --dns dns_ali -d '*.mydomain.cn'
    
    

    3:七牛云的https配置

    fullchain 是内容,domain.key 是私钥

    4:实例

    acme更新https证书

    // 一起搞两个域名通配符
    acme.sh --issue --dns dns_ali -d mydomain.com -d '*.mydomain.com' -d mydomain2.com -d '*.mydomain2.com'
    sudo cp /home/xxx/.acme.sh/mydomain.com/mydomain.com.cer /srv/ssl/mydomain.com/
    sudo cp /home/xxx/.acme.sh/mydomain.com/mydomain.com.key /srv/ssl/mydomain.com/
    sudo cp /home/xxx/.acme.sh/mydomain.com/fullchain.cer /srv/ssl/mydomain.com/
    

    测试是否更新成功

    echo | openssl s_client -servername mydomain.com -connect mydomain.com:443 2>/dev/null | openssl x509 -noout -dates
    

    相关文章

      网友评论

          本文标题:从Let’s Encrypt获取免费的HTTPs证书

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