Nginx 配置 HTTPS 证书自动续期 (Certbot)

在配置个人博客或网站的 HTTPS 时,Let's Encrypt 配合 Certbot 是最主流的免费方案。理论上它能实现“一次配置,永久自动续期”。但在实际操作中(特别是涉及到服务器迁移、反向代理或从旧配置迁移时),我们经常会遇到 404 Unauthorized 或 Plugin not installed 等报错。 本文记录了一次真实的排查过程,涵盖了安装插件、解决反向代理验证失败、多域名证书合并以及清理“僵尸”证书的全流程。 1. 为什么自动续期会失败? Certbot 有两种常用的验证模式: 1. Webroot 模式 (--webroot):Certbot 在网站根目录创建一个验证文件,Let's Encrypt 访问这个文件来验证。 2. Nginx 插件模式 (--nginx):Certbot…

Ghost 无法登录?解决新设备强制验证收不到邮件的问题

最近在阿里云服务器上部署了最新的 Ghost 5.x (Docker版),在首次登录后台时遇到一个死循环:Ghost 强制要求进行“新设备登录验证”,但我根本收不到邮件。 经过一番折腾,发现这是由于 Ghost 新版本的安全机制变更、云厂商端口封禁以及旧配置失效共同导致的。本文将介绍如何使用 Ethereal(一个开发者专用的虚拟邮件服务)来完美解决这个问题。 问题现象 1. 换新设备,访问 /ghost 后台。 2. 输入账号密码,点击登录。 3. 问题来了:登录按钮变成了一个旋转的圆圈,一直转个不停。 4. 打开浏览器开发者工具 (F12 -> Network),发现 session 接口的状态一直是 Pending (挂起) 直到超时,或者报 Failed。 原因分析 为什么会陷入这个死局?主要有三个原因凑在了一起: 1.…

为 Nginx 反向代理配置 HTTPS (Let's Encrypt) 及踩坑总结

最近在私有服务器(Ubuntu)上部署了一个新的 Web 服务,通过 Nginx 反向代理转发到本地的 8089 端口。在配置 HTTPS 证书的过程中,遇到了一些经典的依赖问题和云服务器防火墙坑。本文记录了完整的配置与排查流程。 1. 环境准备 * 操作系统: Ubuntu 20.04 / 22.04 LTS * Web 服务器: Nginx * 后端服务: 运行在 127.0.0.1:8089 * SSL 工具: Certbot (Let's Encrypt) 2. 配置 Nginx 反向代理 首先,我们需要让 Nginx 能够通过 HTTP…

AWS 如何利用 EventBridge 和 Lambda 实现 EC2 自动定时关机 (基于标签)

作为一名开发者,最心痛的时刻莫过于月底收到 AWS 账单时,发现几台测试用的 EC2 实例在下班后和周末一直开着空跑。 为了省钱,我们通常希望实现:“每天下班后(如 18:00)和凌晨(如 02:00)自动关机”。 虽然 EventBridge Scheduler 可以直接调用 EC2 关机接口,但它要求硬编码 Instance ID。一旦你新增了服务器,又得去改计划,非常麻烦。本文将介绍一种更优雅、更具扩展性的方案:利用标签 (Tag) 管理实例,配合 Lambda 脚本实现自动化。 方案架构 1. EventBridge Scheduler: 也就是“闹钟”,负责在指定时间(支持本地时区)触发任务。 2. AWS Lambda:…

在私有服务器上搭建与使用 Ghost 博客全指南

Ghost 是一个基于 Node.js 开发的现代开源博客平台,以其极致的速度、简洁的写作体验和强大的 SEO 优化著称。本文将指导你如何在私有服务器(VPS)上搭建 Ghost,并解决数据库连接、主题配置及内容发布等核心问题。 第一部分:服务器环境搭建(基于 Ubuntu) 准备工作: * 一台 VPS(推荐 Ubuntu 20.04/22.04,内存建议 1GB 以上)。 * 一个已解析到服务器 IP 的域名。 1. 系统初始化与安全配置 Ghost 严禁使用 root 用户运行。首先需要创建专用用户。 codeBash # 1. 更新系统 sudo apt update && sudo…