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

两种方式

  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证书进行配置即可。
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
let's encrypt是一个非盈利性质的机构,致力于提供免费SSL证书服务,以促进整个互联网的安全性。在官网上,他们提供了一键式免费申请SSL证书的脚本,使得用户可以快速而简便地获取自己网站的SSL证书。 这个一键式免费申请SSL证书脚本的使用非常简单。首先,用户需要在自己的网站服务器上安装并配置好Certbot工具。Certbot是一个由let's encrypt官方开发的自动化工具,用于申请和更新SSL证书。 在安装和配置好Certbot之后,用户只需要在命令行中输入一条简单的指令,就可以申请自己网站的SSL证书了。具体指令如下: $ sudo certbot certonly --standalone -d <your_domain> 其中,“<your_domain>”替换为用户自己的域名。这条指令的作用是告诉Certbot以standalone模式运行,并申请一个新的证书,该证书将与用户输入的域名关联。 Certbot会自动与let's encrypt的服务器进行通信,验证用户所拥有的域名和服务器的控制权。一旦验证通过,Certbot就会生成一个有效期为90天的SSL证书,并将其保存在用户指定的位置。 用户可以根据自己的需要选择将证书文件保存到哪个目录,以及将其用于哪个Web服务器(例如Apache或Nginx)。 值得一提的是,这个一键式免费申请SSL证书脚本还支持自动续订证书的功能。Certbot会在证书即将过期之前自动执行更新过程,以确保用户的网站能够持续使用最新的SSL证书。 总之,let's encrypt官网提供的一键式免费申请SSL证书脚本极大地简化了证书申请和管理的过程,让网站拥有更安全可靠的加密通信。用户只需几个简单的步骤,就能轻松获得免费SSL证书,提升网站的安全性和可信度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值