使用acme.sh来生成SSL证书,给网站配置https,附nginx配置

安装acme.sh

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.

  • 安装acme.sh
curl  https://get.acme.sh | sh
  • 创建 一个 bash 的 alias, 方便你的使用
alias acme.sh=~/.acme.sh/acme.sh

安装完成可以通过查看版本来验证是否安装成功

# 查询版本号
acme.sh --version

在这里插入图片描述

acme.sh会自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.
安装过程不会污染已有的系统任何功能和文件, 所有的修改都限制在安装目录中: ~/.acme.sh/

生成证书

acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: http 和 dns
验证,这里使用dns来验证,http的使用请查看官网。
dns 方式的真正强大之处在于可以使用域名解析商提供的 api 自动添加 txt 记录完成验证.
acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成.

阿里云为例,其它平台参考实现,修改生成证书–dns即可

  • 将Ali_Key和Ali_Secret添加到环境变量,这里给出的 api id 和 api key 会被自动记录下来, 将来你在使用命令生成证书的时候, 就不需要再次指定了. 直接生成就好了
export Ali_Key="********"
export Ali_Secret="********"
  • 注册账号
acme.sh --register-account -m my@example.com
  • 执行证书生成命令
# 生成证书,*.it996.vip为网站
acme.sh --issue --dns dns_ali -d *.it996.vip

接下来你将看到一个倒计时,证书生成成功后会员SUCCESS提示

安装证书,nginx为例

# nginx -s reload   service nginx force-reload   提前运行一下,看哪个可用
# --key-file  key的存放路径,自定义即可,文件名称可以自定义,最后的后缀记得和生成的一样即可
# --fullchain-file  证书存放路径,自定义即可,文件名称可以自定义,最后的后缀记得和生成的一样即可
# --reloadcmd 证书更新后执行的命令,(一个小提醒, 这里用的是 service nginx force-reload, 不是 service nginx reload, 据测试, reload 并不会重新加载证书, 所以用的 force-reload)
acme.sh --install-cert -d *.it996.vip \
--key-file       /data/https/*.it996.vip.key.pem  \
--fullchain-file /data/https/*.it996.vip.cert.pem \
#--reloadcmd     "service nginx force-reload"
--reloadcmd     "nginx -s reload"
  • nginx配置
server {
   	listen  443 ssl;
   	server_name  *.it996.vip; 
	# 证书配置,路径和上面一样即可
	ssl_certificate /data/https/*.it996.vip.cert.pem;  
    ssl_certificate_key /data/https/*.it996.vip.key.pem; 
    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;

   	location / {
     	
   	}
}

更新证书

目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.

常用命令

# 安装acme
curl https://get.acme.sh | sh
# 查看acme版本
acme.sh --version
# 添加环境变量
export Ali_Key="**********"
export Ali_Secret="**********"
# 申请证书
acme.sh --issue --dns dns_ali -d *.it996.vip
# 更新证书
acme.sh --renew -d '*.it996.vip' --force
# 查看证书列表
acme.sh --list 
# 删除证书
acme.sh remove *.it996.vip
# 升级 acme.sh 到最新版:
acme.sh --upgrade
# 开启自动升级:
acme.sh  --upgrade  --auto-upgrade
# 关闭自动更新:
acme.sh --upgrade  --auto-upgrade  0
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赛赛liangks

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值