美文网首页
通过Let's Encrypt免费申请永久SSL证书教程

通过Let's Encrypt免费申请永久SSL证书教程

作者: 天不生我小金 | 来源:发表于2021-02-18 11:28 被阅读0次

    前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。

    两种方式

    1. 通过acme.sh手动生成
    2. 通过docker镜像一键生成

    第一种方式,第一步,获取acme.sh,如下

    curl https://get.acme.sh | sh
    
    注意
    1. 耐心等待,成功后会提示Install success!
    2. 如果安装完后执行acme.sh,提示命令没找到,请关掉终端然后再登陆,或者执行以下命令
    source ~/.bashrc
    

    第二步,开始获取证书,如下

    步骤
    1. acme.sh强大之处在于,可以自动配置dns,不用去域名后台操作解析记录了
    2. 我的域名是在阿里云注册的,下面给出阿里云解析的例子,其他地方注册的请参考这里自行修改,https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert
    3. 请先前往阿里云后台获取App_Key跟App_Secret,https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fak-console.aliyun.com%2F#/accesskey
    4. 然后执行以下命令
    # 替换成从阿里云后台获取的密钥
    export Ali_Key="xxx"
    export Ali_Secret="xxx"
    # luoyu.com自行替换成自己的域名
    acme.sh --issue --dns dns_ali -d luoyu.com -d *.luoyu.com
    
    1. 这里是通过线程休眠120秒等待DNS生效的方式,所以至少需要等待两分钟,生成的证书放在该目录下,~/acme.sh/domain/

    第三步,简单的nginx配置ssl证书例子,如下

    # luoyu.com自行替换成自己的域名
    server {
        server_name luoyu.com;
        listen 443 http2 ssl;
        ssl_certificate /path/.acme.sh/domain/fullchain.cer;
        ssl_certificate_key /path/.acme.sh/domain/domain.key;
        ssl_trusted_certificate  /path/.acme.sh/domain/ca.cer;
    
        location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:8080;
        }
    }
    
    说明
    1. 第一次成功之后,acme.sh会记录下App_Key跟App_Secret,并且生成一个定时任务,每天凌晨0:00自动检测过期域名并且自动续期。
    2. 对这种方式有顾虑的,请慎重,不过也可以自行删掉用户级的定时任务,并且清理掉~/.acme.sh文件夹就行

    第二种方式,第一步,配置好docker环境,此处不赘述

    第二步,执行一条命令即可,如下

    docker run --rm  -it  \
      -v "/usr/local/ssl":/acme.sh  \
      -e Ali_Key="xxx" \
      -e Ali_Secret="xxx" \
      neilpang/acme.sh  --issue --dns dns_ali -d luoyu.com -d *.luoyu.com
    
    说明
    1. /usr/local/ssl是生成ssl证书的路径,自行替换成自己想要的路径。
    2. Ali_Keya和Ali_Secret为自己的阿里云密钥。
    3. luoyu.com自行替换成自己的域名。
    4. 执行后在自定义的路径下找到ssl证书进行配置即可。

    后记:本次分享到此结束,本人水平有限,难免有错误或遗漏之处,望大家指正和谅解,欢迎评论留言。

    相关文章

      网友评论

          本文标题:通过Let's Encrypt免费申请永久SSL证书教程

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