稀土掘金技术社区 02月12日
一招直接变永久,证书 90 天够谁用!!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了acme.sh自动续期神器的安装、生成证书、复制证书、修改nginx配置及更新证书的流程,解决了证书到期需频繁操作的问题。

💻安装acme.sh,国内服务器需使用特定命令

🎈生成证书,以京东云为例进行DNS验证

📄复制证书,根据实际情况设置相关路径及命令

🛠修改nginx的config文件,注意相关配置的改动

🔄证书每60天自动更新,也可强制续签

原创 cong_ 2025-02-08 08:30 重庆

点击关注公众号,“技术干货” 及时达!

前言?

大家好,我是聪?,最近啊我的证书?也到期了,每次到期我都要上服务商管理端来瞎捣鼓一番来一波续费,之前免费证书时间挺长的还好说,现在证书 90 天就到期,这谁受的了啊,机缘巧合下,我在 github 上面看到了一款自动续期神器,我身边的朋友也在用? acme.sh,中文说明地址?:https://github.com/acmesh-official/acme.sh/wiki/说明 ,喜欢探索的朋友可以自己跟着文档来操作一波,像我就喜欢图文直接抄!想要这样的朋友跟着我下面的教程来吧。

安装流程?

安装 acme.sh

先看看官方文档?!easy 一条命令搞定是吧!(还真踩坑),文档如下?:

好一条命令搞定,但是我的服务器在国内啊(京东云),难顶卡住不动了,就是下面这样的情况:

怎么办呢,我请求了它的 sh 脚本 https://get.acme.sh ,看到了如下图:

早说啊!我卡死了一分钟!直接访问地址:https://github.com/acmesh-official/acme.sh/wiki/Install-in-China

看到了国内的命令,命令如下?:


git clone https://gitee.com/neilpang/acme.sh.git cd acme.sh ./acme.sh --install -m my@example.com

生成证书

先看看官方文档?,文档如下?:

我这里选择了 DNS 验证,我个人感觉比较方便:

先找到你的厂商 API 点进去 https://github.com/acmesh-official/acme.sh/wiki/dnsapi,这里以京东云为例?:

找到关键字 jd 然后点进去:

就可以看见关键步骤了!如下图:

export JD_ACCESS_KEY_ID="<key id>"export JD_ACCESS_KEY_SECRET="<secret>"
./acme.sh --issue --dns dns_jd  -d example.com -d *.example.com

复制证书

先看看官方文档?,文档如下?:

我这边是 nginx 所以使用官方命令 nginx 示例就行(由于我的 nginx 使用 docker 安装,则后面的重启命令改为 docker restart nginx 即可),命令如下:

  acme.sh --install-cert -d example.com \    --key-file       /path/to/keyfile/in/nginx/key.pem  \    --fullchain-file /path/to/fullchain/nginx/cert.pem \    --reloadcmd     "docker restart nginx"

这里说明下:

修改配置 nginx 的 config 文件

这步官方文档似乎没有提及,但我修改完配置文件然后重启就生效了,大家可以参考一下:

主要是改动 ssl_certificate、ssl_certificate_key 两个地方为你的配置文件地址

  server {        listen       80;        listen  [::]:80;        server_name  codebug.icu;            rewrite ^(.*) https://$server_name$1 permanent;    }        server {        listen       443 ssl;        server_name  codebug.icu;            ssl_certificate      /path/to/keyfile/in/nginx/cert.pem;        ssl_certificate_key  /path/to/keyfile/in/nginx/key.pem;        ssl_session_cache    shared:SSL:1m;        ssl_session_timeout  5m;            ssl_ciphers  HIGH:!aNULL:!MD5;        ssl_prefer_server_ciphers  on;            location / {             root /usr/share/nginx/html;             index index.html;        }            error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   /usr/share/nginx/html;        }    }

修改完记得重启 nginx 哦,我的重启命令是 docker restart nginx

(扩展?)更新证书

目前证书每 60 天自动更新,你无需任何操作。

但是你也可以强制续签证书:

   acme.sh --renew -d example.com --force

展示成果?

最后?

执行完上述操作,你的证书已经会每 60 天自动更新,也就是永久证书了,妈妈再也不用担心我的证书过期啦!

点击关注公众号,“技术干货” 及时达!

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

acme.sh 证书续期 京东云 nginx配置
相关文章