没有不值得去解决的问题,也没有不值得去学习的技术!

标签: 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 配置简单、清晰、易维护。

👨‍💻 个人品牌

王世强|PHP / Go 技术顾问

15+ 年 Web 后端开发经验,专注于系统维护、架构优化、性能调优及 Linux 运维。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

为创业团队、中小企业及独立开发者提供长期技术支持与远程合作服务。

👉 关于我 & 合作

.env (14) 404 (13) add (16) AI 翻译 (21) Apache (13) Array (19) A Tour of Go (31) Cache (13) CentOS (23) chrome (19) Cloudflare (28) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (15) delete (31) Docker (32) Dockerfile (15) EdgeOne (30) environment variable (19) error (24) Failed (13) file (15) filter (20) function (13) Git (27) GitHub (19) Gitlab (15) GLM-5.2 (23) Go (48) Google AdSense (22) Go 语言 (17) GraphQL (24) GraphQL API (14) Gutenberg (32) http (21) https (22) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (21) Migrate (13) Module (17) MySQL (78) MySQL 5.7 (21) Nginx (59) normalize.css (28) OKX (15) OneinStack (19) PHP (67) php-fpm (17) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (57) postman (18) Query (17) queue (16) Rancher (24) Redis (48) response (13) RESTful (27) RESTful API (23) Shell (13) Shopify (19) SlyTranslate (20) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (40) update (20) VPN (17) VS Code (13) W3 Total Cache (35) Windows 10 (46) WireGuard (27) WordPress (123) WPCode (23) Wstunnel (14) Yii (40) Yii 2 (70) Yii 2.0 (51) 命令行 (13) 多语言翻译 (18) 技术博客 (15) 故障排查 (13) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)

2026 年 8 月
 12
3456789
10111213141516
17181920212223
24252627282930
31