标签: Nginx
-
在 A Tour of Go 多语言项目的 Playground 浏览器直连代理稳定运行后,继续补齐第三方调用身份识别。根据 Go Playground 官方对第三方服务的使用说明,在 ZgoCloud Nginx 的 /compile 与 /fmt 转发请求中统一增加项目级唯一 User-Agent go-tour-i18n/1.0 (+https://github.com/shuijingwan/go-tour-i18n),避免绑定具体语言或服务器。完成 Nginx 配置检查及 Compile、Format、CORS、方法限制等生产回归后,又向 golang-dev 公开邮件列表发送使用告知,使当前 Playground 调用链在保持正常运行的同时具备稳定、可识别且适合未来多语言扩展的项目身份。
-
记录 A Tour of Go 中文版在手机端出现“运行”和“格式化”偶发失败后的排查过程。通过微信、自带浏览器、QQ 浏览器、百度 APP,以及 Wi-Fi、5G 等不同环境反复测试,确认问题无法稳定复现;进一步分析 ZgoCloud Nginx 日志后发现,当天所有正常进入服务器的 /compile、/fmt 请求均返回 200/204,但部分前端失败无法与现有日志完整对应。为避免在根因不明确时贸然修改生产架构,最终为 Playground 增加独立 JSON 访问日志和专用错误日志,补充请求耗时、上游状态和上游响应时间等观测信息,为下一次真实故障留下更完整的排查证据。
-
在多次 OneinStack 生产环境升级和兼容性处理之后,我将已经实际验证并固化到代码中的修改整理为 oneinstack-custom 定制分支,并正式公开到 GitHub。该分支继续保留 OneinStack 原有目录结构和运维方式,重点补充 PHP 8.5.9 构建兼容、GNU libiconv 冲突处理、Imagick 3.8.1、PHP-FPM 状态验证以及 Nginx/OpenSSL 3.5.7 构建等内容。本文同时梳理 OneinStack 原生能力与定制分支的边界,并说明哪些历史运维实践尚未自动化进入仓库。
-
A Tour of Go 简体中文版上线后,生产环境访问 Go 官方 Playground 偶发出现 TLS 握手超时。本文记录如何在现有 ZgoCloud 服务器上新增独立 Playground 执行节点,通过 Nginx、HTTPS 8443、CORS 与固定接口转发,将 /compile、/fmt 请求直接发送至 play.golang.org,同时保持原有网络服务不受影响,并完成连续真实编译、格式化和安全边界验收。
-
A Tour of Go 简体中文站正式上线后,我发现原生产域名 go-tour.shuijingwanwq.com 与既有 /tour/ 路径存在语义重复。此前曾评估直接移除 /tour/,但由于涉及路由、静态资源、模板和既有验证链路,最终放弃这一方案,改为将生产域名迁移至更具扩展性的 go-dev.shuijingwanwq.com。本文完整记录 Cloudflare DNS、腾讯云 EdgeOne、HTTPS、同路径 301、OneinStack、Nginx、Let’s Encrypt、静态资源 404 修正及旧源站清理过程,并通过新页面 200、静态资源 200、旧域名 301 完成最终验收。
-
A Tour of Go 多语言翻译项目完成 zh-CN 第一阶段正式上线。本文记录从 103/103 个课程页面完成翻译与验收,到 production release、systemd、Nginx、EdgeOne 和 HTTPS 正式部署的全过程,并重点复盘 glibc 版本不兼容、OneinStack 静态资源规则导致 CSS/JS 404、play.golang.org 无法访问、切换 go.dev Playground、release 权限导致 systemd 203/EXEC,以及 Nginx PID 与 systemd 管理脱节等生产问题。最终课程页面、远程运行、代码格式化和 /socket 安全约束均通过公网及浏览器验收,zh-CN 版本正式上线。
-
本文记录在 Alibaba Cloud Linux 3 与 OneinStack 环境中,将 Nginx 从 1.24.0 升级到 1.30.4,并将其静态编译使用的 OpenSSL 从 1.1.1t 升级到 3.5.7 的完整过程。操作采用旁路编译、生产配置预检、完整备份、短暂停机切换和自动回滚方案,期间解决了 GitHub 下载失败、Perl 模块缺失、Python 3.6 语法不兼容以及旧版 HTTP/2 配置警告等问题。升级后,中文站、英文站、管理子域、WordPress REST API、PHP-FPM 和源站 HTTP/2 均通过验证。
-
2026 年 7 月 30 日,网站在两个多小时内出现约 177 万次 EdgeOne L7 请求,其中约 109 万次实际回源。结合 EdgeOne 指标与 Nginx 日志,最终确认这是一轮大规模 PHP、ASP 与 WebShell 文件路径扫描。排查还发现,网站接入 EdgeOne 和 Cloudflare 后,原有 Nginx 限流实际按 CDN 回源节点 IP 计数,存在误伤正常请求的风险,因此暂时注释源站限流配置,并完成中英文站点验证。
-
2026 年 7 月 28 日,英文站 en.shuijingwanwq.com 持续出现 Cloudflare 526 Invalid SSL certificate。排查发现,服务器同时保留了 RSA 与 ECC 两套 www.shuijingwanwq.com 的 acme.sh 证书记录:RSA 证书仅包含主域名和根域名,ECC 证书则额外包含英文子域 en.shuijingwanwq.com,但两套证书却共同写入同一组 Nginx 生产证书文件。当天凌晨旧 RSA 证书自动续期后覆盖了 ECC 证书,导致英文子域不再包含在 SAN 中,最终触发 Cloudflare Full (strict) 验证失败。通过恢复 ECC 三域名证书、移除旧 RSA 自动续期记录,并完成源站与 Cloudflare 公网验证后,英文站恢复 200,证书自动续期冲突也得到永久修复。
-
本文记录一次 WordPress 双 CDN 架构下的 Query String 缓存优化实战。中文站通过 EdgeOne 自定义 Cache Key 与回源请求参数设置,让 canonical 文章 URL 的不同查询参数共用缓存,并在 MISS 回源时删除 Query String;英文站则通过 Cloudflare URL Rewrite Rule 实现相同目标。整个过程结合 HIT/MISS、Age、301、CF-Ray 与 Nginx access log 进行实际验证,最终将规则收敛为仅优化 /YYYY/MM/DD/ID/ 形式的标准文章 URL,在降低随机参数缓存穿透风险的同时保持 CDN 配置简单、清晰、易维护。
