惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Martin Fowler
Martin Fowler
B
Blog RSS Feed
D
DataBreaches.Net
L
LangChain Blog
月光博客
月光博客
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
美团技术团队
Jina AI
Jina AI
博客园 - 司徒正美
雷峰网
雷峰网
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
小众软件
小众软件
罗磊的独立博客
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta

韩小韩博客

你还在用真实邮箱注册网站?等等,你真的想清楚了吗? IPFS星际文件系统 最新二合一收款码 - 物理合并版 从Hexo到Astro博客1分钟迁移指南 Astro 添加 Waline 评论组件 腾讯云 EdgeOne Pages 实测对比:能否成为国内开发者的 Cloudflare Pages 最佳平替? Astro 中使用 Lenis 增加鼠标滚动阻尼感 一组手机和电脑动态壁纸分享【分享】 Astro 添加 Twikoo 评论组件 Astro主题-优雅的vhAstro-Theme【使用文档】 Fetch的GET、POST简单HTTP请求封装 一些实拍的手机壁纸 大理And威海【图】 很喜欢西湖的水【转自:狮子狮子鱼】 Tarot-塔罗牌占卜 Web Watermark 图片添加水印在线小助手 HanAnalytics访问分析Web统计托管于(Cloudflare Pages) 基于AI的微博动态心情分析 阿里云免费用9年ecs教程【适合轻量化服务如frp】 Cloudflare优选IP➕DnsPod的DDNS自动切换 混沌神器Clash全家桶 卷王都在用的变态休息法 NodeJs文本相似度去重脚本 骤雨重山无限存储图床托管于(Cloudflare Pages) 分享好看的天空和云(长期更新) Typecho转到Hexo(主题由Typecho-Joe-Theme转Butterfly主题) Typecho评论导出为Hexo的Valine、Twikoo等评论所支持的JSON文件 Safari浏览器内容被地址栏、菜单栏或工具栏遮挡导致的兼容问题 拼夕夕快速提现100元攻略 2024 平安喜乐
acme.sh生成自动续费的免费SSL证书
.𝙃𝙖𝙣 · 2026-04-11 · via 韩小韩博客

avatar

.𝙃𝙖𝙣

494 2.5分钟

Code

acme.sh 实现了 acme 协议,可以从 letsencrypt 生成免费的证书。
一个完全用Shell(Unix shell)语言编写的ACME协议客户端,支持ACME v1和ACME v2,只需一个脚本即可生成发布,续订和自动安装SSL证书。

安装acme.sh

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

把 acme.sh 安装到你的 home 目录下:

~/.acme.sh/

创建 一个 bash 的 alias

alias acme.sh=~/.acme.sh/acme.sh

执行完毕后,将自动为你生成 crontab 任务,每天 0

点自动检测所有的证书, 如果快过期了,需要更新,则会自动更新证书。

生成证书

acme.sh 实现了 acme 协议支持的所有验证协议。一般有两种方式验证: http 和 dns 验证,这里我们以 http 为例。
http 方式需要在你的网站根目录下放置一个文件,来验证你的域名所有权,完成验证,然后就可以生成证书了。

acme.sh  --issue  -d mydomain.com -d www.mydomain.com  --webroot  /home/wwwroot/mydomain.com/

只需要指定域名,并指定域名所在的网站根目录,acme.sh 会全自动的生成验证文件,并放到网站的根目录,然后自动完成验证,最后会聪明的删除验证文件,整个过程对网站没有任何影响。

如果你用的 apache/nginx 服务器,acme.sh 还可以智能的从配置中自动完成验证, 你不需要指定网站根目录:

Apache

acme.sh --issue  -d mydomain.com   --apache

Nginx

acme.sh --issue  -d mydomain.com   --nginx

copy/安装证书

前面证书生成以后,接下来需要把证书 copy 到真正需要用它的地方。

Apache

acme.sh --install-cert -d example.com \
--cert-file      /usr/local/apache/domain.cert  \
--key-file       /usr/local/apache/domain.key  \
--fullchain-file /usr/local/apache/domain.pem \
--reloadcmd     "service apache2 force-reload"

Nginx

acme.sh --install-cert -d example.com \
--key-file       /usr/local/nginx/cert/domain.key  \
--fullchain-file /usr/local/nginx/cert/domain.pem \
--reloadcmd     "service nginx force-reload"

service nginx force-reload 将会重启 nginx ,centos7 以上使用 systemctl 命令

修改配置

此处以 nginx 配置为例

server {
    listen  80;
    server_name     mydomain.com www.mydomain.com;
    return  301 https://$server_name$request_uri;
}
server {
    listen               443 ssl;
    server_name          mydomain.com www.mydomain.com;
    ssl_certificate      /usr/local/nginx/cert/domain.pem;
    ssl_certificate_key  /usr/local/nginx/cert/domain.key;

    location / {
        root /home/wwwroot/mydomain.com/public;
        index index.html;
    }
}

更新证书

证书会自动更新,无需关心

相关链接

Github:https://github.com/acmesh-official/acme.sh

Apache Nginx