当前位置: 首页 > article >正文

告别手动续期!用acme.sh + Nginx搞定Let‘s Encrypt免费SSL证书(保姆级配置流程)

零门槛实现HTTPS自动化acme.sh与Nginx的完美协作指南第一次部署个人博客时我盯着浏览器地址栏那个刺眼的不安全警告整整三天。直到发现Lets Encrypt的免费证书才意识到原来HTTPS配置可以如此简单。但三个月后当深夜收到证书过期告警邮件时那种手忙脚乱的经历让我决心寻找一劳永逸的解决方案——这就是acme.sh带给我的自动化体验。1. 为什么选择acme.sh作为证书管理工具在开源证书管理工具领域acme.sh以其零依赖的设计哲学脱颖而出。它用纯Shell脚本编写这意味着你可以在任何Unix-like系统上运行它无需额外安装Python、Node.js等运行时环境。这种极简主义带来的直接好处是无侵入性安装所有文件都存放在用户主目录的.acme.sh文件夹中不会污染系统目录自动维护能力内置的cron任务会静默处理续期无需人工干预多CA支持除了默认的ZeroSSL只需一条命令即可切换回Lets Encrypt# 查看当前使用的CA提供商 acme.sh --info --domain yourdomain.com # 切换CA示例切换到Lets Encrypt acme.sh --set-default-ca --server letsencrypt与其他方案相比acme.sh在自动化程度上有明显优势。Certbot虽然功能强大但需要手动配置续期钩子而acme.sh在安装时就自动设置好了完整的续期流程包括证书更新后的Nginx重载命令。2. 国内友好型安装方案全解析对于国内开发者来说直接从GitHub克隆仓库可能会遇到网络延迟问题。acme.sh官方在Gitee维护了同步镜像这为我们提供了更稳定的安装选择。以下是经过优化的分步方案方案AGitee镜像安装推荐国内用户wget https://gitee.com/neilpang/acme.sh/repository/archive/master.zip unzip master.zip cd acme.sh-master ./acme.sh --install --email youremail.com方案BGitHub直接安装curl https://get.acme.sh | sh -s emailyouremail.com安装完成后工具会自动完成以下配置在~/.bashrc或~/.zshrc中添加环境变量创建每日执行的cron任务位于00 00 * * *时段生成默认的账户配置文件~/.acme.sh/account.conf验证安装成功的技巧执行source ~/.bashrc后运行acme.sh --version应该能看到版本号输出而不会报command not found3. Webroot模式证书申请实战这是最适合Nginx用户的验证方式原理是在网站根目录下创建临时验证文件。假设你的网站目录是/var/www/html操作流程如下acme.sh --issue -d example.com -d www.example.com \ --webroot /var/www/html关键参数说明参数作用示例值-d指定主域名example.com--webroot网站根目录路径/var/www/html--keylength密钥长度默认为2048ec-256推荐Nginx需要确保能够访问.well-known目录这是ACME协议要求的验证路径。在Nginx配置中添加server { listen 80; server_name example.com; location ~ /\.well-known { root /var/www/html; allow all; } # 其他配置... }4. 证书部署与Nginx集成获得证书后需要将其移动到Nginx的标准配置目录。acme.sh的--install-cert命令可以自动完成这个操作acme.sh --install-cert -d example.com \ --key-file /etc/nginx/ssl/example.com.key \ --fullchain-file /etc/nginx/ssl/example.com.crt \ --reloadcmd systemctl reload nginx这个命令实现了三个重要功能将证书文件复制到指定位置设置未来续期时的自动复制每次续期后自动重载Nginx配置对应的Nginx SSL配置示例server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; # 启用HTTP/2 listen 443 ssl http2; # 优化SSL配置 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; }5. 高级技巧与故障排查ECC证书生成相比传统的RSA密钥ECC椭圆曲线密码学证书更安全且体积更小acme.sh --issue -d example.com --webroot /var/www/html --keylength ec-256多域名管理当需要管理多个域名时可以使用--domain参数多次指定acme.sh --issue -d example.com -d api.example.com -d static.example.com \ --webroot /var/www/html常见问题解决方案验证失败检查.well-known目录是否可被外部访问curl http://example.com/.well-known/acme-challenge/test证书未自动续期检查cron服务是否运行systemctl status cronNginx配置错误测试配置语法nginx -t6. 自动化监控与告警虽然acme.sh会自动续期但建议设置证书过期监控。一个简单的方案是将以下脚本加入cron#!/bin/bash DAYS_REMAINING$(openssl x509 -in /etc/nginx/ssl/example.com.crt -noout -dates | awk -F /notAfter/{print $2} | xargs -I{} date -d {} %s | awk {print ($0-systime())/86400}) if [ ${DAYS_REMAINING%.*} -lt 7 ]; then echo 证书将在${DAYS_REMAINING%.*}天后过期 | mail -s 证书告警 adminexample.com fi对于需要管理大量证书的场景可以考虑使用Domain Admin这样的可视化工具它提供了集中式证书管理面板自动续期功能多服务器部署能力# Docker部署示例 docker run -d --name domain-admin \ -p 8000:8000 \ -v /etc/nginx/ssl:/ssl \ mouday/domain-admin在个人服务器上运行这套方案两年后最让我惊喜的不是它从不出错而是当Lets Encrypt宣布支持三个月有效期延长到一年时acme.sh团队在一周内就推送了兼容性更新——这种无需人工干预的平滑升级才是自动化运维的真正魅力所在。

相关文章:

告别手动续期!用acme.sh + Nginx搞定Let‘s Encrypt免费SSL证书(保姆级配置流程)

零门槛实现HTTPS自动化:acme.sh与Nginx的完美协作指南 第一次部署个人博客时,我盯着浏览器地址栏那个刺眼的"不安全"警告整整三天。直到发现Lets Encrypt的免费证书,才意识到原来HTTPS配置可以如此简单。但三个月后,当深…...

点亮8086最小系统的LED

1.效果图2.原理图3.汇编程序led_port equ 800horg 0efffh start:nop;MOV DX,800H ;800H是板子上8个LED的端口地址号mov dx,led_portMOV AL,0aaH ;一亮一灭间隔点亮OUT DX,ALmov cx,0loop $mov dx,led_portMOV AL,00H ;一亮一灭间隔点亮OUT DX,ALmov cx,0loop $jm…...

4月openKylin多项进展:社区治理、技术突破、生态拓展全面开花!

1. 社区治理4月30日,2026年OpenAtom openKylin(简称"openKylin")常务委员会4月会议在线上召开,麒麟软件、联想开天等常委单位代表参会,汇报当月工作进展,常委们还提出宝贵建议。4月16日&#xff…...

38年前Tab键导航功能之争:微软扁平文化完胜IBM官僚主义

【导语:微软资深工程师Raymond Chen近日分享一段技术史,38年前微软与IBM联合开发OS/2时,就图形界面对话框中光标跳转按键产生分歧,一场关于Tab键的“跨级争论”就此展开。】Tab键导航功能引发跨级争论1987年,微软与IBM…...

OpenAI广告业务大转弯:从高端路线到效果广告,商业化突围能否成功?

1. OpenAI广告上线:关键布局与现实选择OpenAI Ads Manager正式在美国全量上线,这并非温和的功能更新,而是关乎长期增长的关键布局。千亿算力持续烧钱,年度亏损直奔140亿美元,订阅与API收入难以填补成本缺口&#xff0c…...

WindowsCleaner完全掌控指南:高效运用开源工具彻底解决C盘爆满问题

WindowsCleaner完全掌控指南:高效运用开源工具彻底解决C盘爆满问题 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否厌倦了Windows系统越用越慢、…...

XUnity.AutoTranslator:打破语言障碍的Unity游戏实时翻译神器

XUnity.AutoTranslator:打破语言障碍的Unity游戏实时翻译神器 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为看不懂的外语游戏而苦恼吗?XUnity.AutoTranslator为你提供了一…...

XHS-Downloader 终极指南:三步实现小红书内容高效采集与下载

XHS-Downloader 终极指南:三步实现小红书内容高效采集与下载 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链…...

基于MCP协议的AI Agent工具集成框架:mcp-remnawave架构解析与实战

1. 项目概述:一个面向AI代理的模块化工具集成框架最近在折腾AI应用开发,特别是围绕AI Agent(智能体)的生态构建时,发现一个挺有意思的项目:moksharth77/mcp-remnawave。乍一看这个仓库名,可能会…...

ClawTrap:提升UI自动化测试稳定性的智能等待与状态同步工具

1. 项目概述:ClawTrap,一个为自动化测试而生的“捕兽夹”如果你和我一样,长期在软件开发和运维的一线摸爬滚打,那你一定对“测试”这件事又爱又恨。爱的是,一套健壮的测试体系是代码质量的最后一道防线,是深…...

手把手教你排查Linux云主机VNC登录root失败:从PAM模块到securetty的完整避坑指南

Linux云主机VNC登录root失败全流程诊断与修复手册 当你完成一轮严格的安全加固后,却发现无法通过VNC登录root账户——这种"自己锁死自己"的尴尬场景,每个运维工程师都可能遇到。上周我就亲历了这样一场惊心动魄的故障:某金融客户的…...

5分钟快速上手:罗技鼠标宏让你的PUBG射击更稳定

5分钟快速上手:罗技鼠标宏让你的PUBG射击更稳定 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 你是否在《绝地求生》中总是因为后坐…...

LaTeX公式一键转Word:科研写作的终极效率神器

LaTeX公式一键转Word:科研写作的终极效率神器 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 还在为论文写作中的公式迁移而头疼吗&a…...

Angular 表单中基于下拉选择动态启用字段必填校验的完整实现方案

本文介绍如何在 Angular 响应式表单中,根据 payable_frequency_ref_id 下拉框的选择状态,动态控制 min_payable_commission 和 max_payable_commission 两个输入框中「任一必填」的自定义校验逻辑,避免硬编码 required 属性或重复调用 setVal…...

一键在Docker Desktop启用Kubernetes:本地开发与学习的高效实践

1. 项目概述与核心价值如果你是一名开发者,日常工作离不开Docker Desktop,同时又对Kubernetes(K8s)充满好奇,或者你的项目正从单容器向微服务编排演进,那么你一定遇到过这个经典困境:如何在本地…...

大模型推理优化:策略、技术与实践指南

1. 大模型推理的核心逻辑与模式选择大语言模型(LLM)推理的本质是让模型基于输入生成连贯、合理的文本输出。这个过程看似简单,但背后涉及多种推理策略的选择与优化。在实际应用中,我们通常会根据任务类型、响应质量要求和计算资源…...

企业级电商架构实战:Shopify+Algolia+Next.js打造高性能全栈方案

1. 项目概述:一个为大型电商场景设计的Next.js全栈模板如果你正在为你的公司或客户构建一个面向未来的、高性能的电商网站,并且对市面上那些“玩具级”的模板感到失望,那么这个项目值得你花时间深入研究。Enterprise Commerce 不是一个简单的…...

3步搞定百度网盘高速下载:Python解析工具实战指南

3步搞定百度网盘高速下载:Python解析工具实战指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 面对百度网盘下载限速的困扰,技术爱好者们一直在寻找…...

多模态AI视觉语言模型优化与强化学习实践

1. 项目背景与核心价值去年在部署某智能客服系统时,我们发现传统视觉语言模型(VLM)存在一个致命缺陷——当用户上传一张模糊的产品照片并询问"这个配件该怎么安装"时,系统要么给出笼统的安全提示,要么完全偏…...

别再手动拖拽了!用Python脚本批量旋转平移CATIA装配体,效率提升10倍

用Python解放双手:CATIA装配体位姿批量调整实战指南 在机械设计领域,CATIA作为行业标杆软件,其装配体操作一直是工程师日常工作的核心环节。但当你面对数百个需要统一调整位置的零部件时,是否也曾被重复的拖拽、旋转操作折磨到怀疑…...

华硕笔记本性能优化终极指南:G-Helper让你的ROG笔记本焕然一新

华硕笔记本性能优化终极指南:G-Helper让你的ROG笔记本焕然一新 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zen…...

Windows Cleaner终极指南:如何通过3层架构彻底释放Windows系统性能

Windows Cleaner终极指南:如何通过3层架构彻底释放Windows系统性能 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows…...

GitHub每日访客计数器:从原理到部署的全栈实践

1. 项目概述与核心价值 作为一个在开源社区混迹多年的开发者,我经常好奇一个问题:我的GitHub个人主页,每天到底有多少人来看?GitHub本身只提供了一个总访问量的统计,但这个数字是累积的,你很难知道今天的热…...

告别Ubuntu!在Windows上为Isaac Sim 2023.1.1配置强化学习环境(OmniIsaacGymEnvs保姆级指南)

告别Ubuntu!Windows原生环境下的Isaac Sim强化学习实战指南 在机器人开发和强化学习领域,NVIDIA Isaac Sim凭借其强大的物理仿真能力和与Omniverse平台的深度整合,正成为越来越多研究者和工程师的首选工具。然而,官方对Ubuntu系统…...

NBTExplorer终极指南:如何轻松编辑Minecraft游戏数据文件

NBTExplorer终极指南:如何轻松编辑Minecraft游戏数据文件 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否曾经想要深入了解《我的世界》游戏内部…...

通过MCP协议连接AI与Brilliant Directories,实现自动化网站管理

1. 项目概述:为你的Brilliant Directories站点注入AI智能 如果你正在运营一个基于Brilliant Directories(以下简称BD)构建的目录网站,无论是商业名录、服务商黄页还是社区资源库,日常的内容更新、会员管理和页面维护工…...

Scrapy中间件实战:除了随机请求头,你的代理IP、异常重试和日志记录也能这么玩

Scrapy中间件实战:解锁高级定制化爬虫的五大核心模块 在构建生产级爬虫系统时,随机请求头只是基础配置。真正区分业余与专业开发者的,是对中间件体系的深度理解和灵活运用。本文将带您突破基础教程的局限,通过五个关键模块的实战演…...

从Hello Vibe看全栈开发:Next.js与实时应用架构实践

1. 项目概述:从“Hello Vibe”看现代Web应用开发范式的演进最近在GitHub上看到一个名为“hello-vibe”的项目,作者是jspi-fu。这个标题本身就很有意思,它让我想起了编程世界里经典的“Hello World”入门程序。但“Vibe”这个词,在…...

UPD720202K8-711-BAA-A‌ 是瑞萨电子(Renesas Electronics)推出的一款 ‌USB 3.0 主机控制器芯片‌,支持 xHCI 1.0 和 PCIe Gen2 接口标

UPD720202K8-711-BAA-A‌ 是瑞萨电子(Renesas Electronics)推出的一款 ‌USB 3.0 主机控制器芯片‌,支持 xHCI 1.0 和 PCIe Gen2 接口标准,适用于高性能 USB 接口扩展方案。 核心特性: 接口标准‌:USB 3.0&…...

XXMI-Launcher全面解析:跨游戏模组管理平台实战指南

XXMI-Launcher全面解析:跨游戏模组管理平台实战指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI-Launcher是一款专为热门游戏打造的模组管理平台&#xff0c…...