# 变更日志 (CHANGELOG) 本文件记录 Nginx Stream + SSL Preread 自动分流方案的所有变更,按时间倒序排列。 格式参考:[Keep a Changelog](https://keepachangelog.com/zh-CN/) --- ## [v2.1] - 2026-10-06 ### 变更(基于服务器实际运行版本同步) - **新增 `worker_rlimit_nofile 16384`**:提升 Nginx 进程文件描述符上限,适配高并发场景 - **stream map 变量名简化**:主配置的 `$backend_target_40130` 简化为 `$backend_target`(主配置仅一个 map,无需带端口后缀) - **stream access_log 恢复**:从 `stream_access_40130.log` 恢复为 `stream_access.log` - **include 指令注释优化**:明确标注 `zhonjin_http.conf` include 位置和 `zhonjin_stream.conf` include 位置 ### 影响文件 - `nginx.conf` — 更新为服务器实际运行版本 --- ## [v2.0] - 2026-10-06 ### 架构变更 - **配置文件模块化**:将 nginx.conf 拆分为模块化结构,子域名配置独立管理 - `nginx.conf` — 主配置(40130 端口 + 全局参数 + include 指令) - `zhonjin_http.conf` — 子域名 HTTP 服务配置,include 到 http 块 - `zhonjin_stream.conf` — 子域名 Stream 分流配置,include 到 stream 块 - `zhonjin.com.conf` — 配置总览说明文档 ### 新增 #### 服务组 2:mqtt.zhonjin.com:40715 → 内网服务 8085 - **域名**:`mqtt.zhonjin.com`(独立子域名) - **外网地址**: - HTTP: `http://mqtt.zhonjin.com:40715` → 自动 301 跳转 - HTTPS: `https://mqtt.zhonjin.com:40715` - **映射目标**:`http://127.0.0.1:8085` - **内部端口**:HTTPS `127.0.0.1:5007` / HTTP 跳转 `127.0.0.1:5008` - **Stream 监听**:`40715`,使用 `$backend_target_40715` 变量分流 - **SSL Session Cache**:`shared:SSL_mqtt:5m` - **日志**:`/var/log/nginx/stream_access_40715.log` #### 服务组 3:baolin.zhonjin.com:40716 → 内网服务 5000 - **域名**:`baolin.zhonjin.com`(独立子域名) - **外网地址**: - HTTP: `http://baolin.zhonjin.com:40716` → 自动 301 跳转 - HTTPS: `https://baolin.zhonjin.com:40716` - **映射目标**:`http://127.0.0.1:5000` - **内部端口**:HTTPS `127.0.0.1:5009` / HTTP 跳转 `127.0.0.1:5010` - **Stream 监听**:`40716`,使用 `$backend_target_40716` 变量分流 - **SSL Session Cache**:`shared:SSL_baolin_1:5m` - **日志**:`/var/log/nginx/stream_access_40716.log` #### 服务组 4:baolin.zhonjin.com:40719 → 内网服务 5001 - **域名**:`baolin.zhonjin.com`(独立子域名) - **外网地址**: - HTTP: `http://baolin.zhonjin.com:40719` → 自动 301 跳转 - HTTPS: `https://baolin.zhonjin.com:40719` - **映射目标**:`http://127.0.0.1:5001` - **内部端口**:HTTPS `127.0.0.1:5011` / HTTP 跳转 `127.0.0.1:5012` - **Stream 监听**:`40719`,使用 `$backend_target_40719` 变量分流 - **SSL Session Cache**:`shared:SSL_baolin_2:5m` - **日志**:`/var/log/nginx/stream_access_40719.log` ### 技术说明 - 各服务组使用不同子域名,但共用同一通配符证书 `*.zhonjin.com` - 每个服务组独立 map 变量,互不干扰 - SSL session cache 名称按域名+编号命名,避免冲突 --- ## [v1.0] - 初始版本 ### 新增 - 基础架构:Nginx stream 模块 + ssl_preread 协议检测 - 服务组 1:chanking.zhonjin.com:40130 → 内网服务 5004 - HTTP 自动 301 跳转到 HTTPS - WebSocket 支持(Upgrade 头透传) - SSL 安全配置:TLSv1.2/1.3, HSTS, 强加密套件 - Stream 独立日志:`stream_access.log`, `stream_error.log` --- ## 已知问题 > 待发现后记录,格式: > - **[日期] 问题描述**:影响范围 / 临时解决方案 / 永久修复方案 --- ## Bug 修复记录 > 记录所有 bug 修复,格式: > ### [日期] Bug 标题 > - **现象**:描述问题表现 > - **根因**:分析根本原因 > - **修复方案**:具体修改内容 > - **影响文件**:涉及的文件列表 > - **验证方式**:如何确认修复有效