create: Checkpoint 2026-09-30 07:08:58 UTC [51a2506ee5]

MemRelay-Operation: checkpoint-save:chk-listener-l01-l07-20260930
MemRelay-Resource: a04c8be3-9dd8-4e67-9211-269093d351bc
This commit is contained in:
2026-09-30 15:09:07 +08:00
parent 30bf0b0ccc
commit 6aea8a35b5
@@ -0,0 +1,48 @@
---
title: Checkpoint 2026-09-30 07:08:58 UTC [51a2506ee5]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-30-07-08-58-utc-51a2506ee5
stable_id: a04c8be3-9dd8-4e67-9211-269093d351bc
scope: project
memory_type: checkpoint
project_id: 25464650-ed5d-440e-b362-190f2852d451
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
status: active
revision: 1
request_id: chk-listener-l01-l07-20260930
created_at: '2026-09-30T07:09:01.355508+00:00'
updated_at: '2026-09-30T07:09:01.355508+00:00'
tags:
- listener
- review-fix
---
## 监听线复审修复 L-02/L-01/L-04–L-07 已完成并推送(未做 L-03,未 merge main)
- **工作树**:`E:\code\NixMsg-wt\r2-l`
- **分支**:`feat/fix-listener-l01-l07`(已普通推送到 origin,非 force)
- **基于**:`origin/main` @ `4059a15`
- **提交**:
- `67a33ba` fix: 修复监听 accept 退避与握手前超时上限(L-02 #21、L-01 #20)
- `9e3769f` fix: 修复 TLS ConnectionState、SPA 回退、健康检查与监听小问题(L-04 #23、L-05 #24、L-06 #25、L-07 #26)
## 做了什么
- L-02:accept 非 closed 错误 5ms–1s 退避重试
- L-01:TLS 握手/CONNECT 预读 10s;剩余长度 >64KiB 关闭;HTTP IdleTimeout 120s、MaxHeaderBytes 64KiB;握手前信号量 1024;ws.go AttachWS 前读超时
- L-04:`tlsBufferedConn.ConnectionState()`,明文不加该方法;不靠 SecureCookies 打补丁
- L-05:`httpx.SPA`;`serve.go` 只改 `staticFileHandler`
- L-06:配证书且关明文时 healthcheck 走 https + InsecureSkipVerify(仅 127.0.0.1 探测);`deploy/config.docker.yaml` `allow_plaintext: false`
- L-07:XFF 合并多行、无法解析则停;tls.Config 复用、证书检查 2 分钟;metrics SHA-256 + ConstantTimeCompare;serve 只 New 一次;WS 调 httpx.ClientIP
## 未做
- **L-03 (#22) 按指令未修**(停机怼装依赖 B-08/D-02/C-01)
- 未 merge main;未加 HSTS;未设 SecureCookies;metrics 失败未计入 LockAdminIP;未加 embeddist Playwright e2e
## 验证
`go test ./internal/listener/ ./internal/httpx/ ./cmd/nixmsg/ -count=1` 全绿(listener ~11s,httpx、cmd/nixmsg 通过)。
## 下一步
总控审阅后 ff-merge;L-03 等 B-08/D-02/C-01。不要删 `E:\code\NixMsg-wt\fix3`。
## 给下个会话
复用工作树 `E:\code\NixMsg-wt\r2-l` 与分支 `feat/fix-listener-l01-l07`;不要在本分支做 L-03;serve.go 只动过 staticFileHandler 与 listener 装配段。