From 92f1947a22c1bfb4d8fa6920511fbd3aeadac53c Mon Sep 17 00:00:00 2001
From: handsomezhuzhu <2658601135@qq.com>
Date: Tue, 20 Jan 2026 14:20:35 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20README.md=20=E4=B8=AD?=
=?UTF-8?q?=E9=98=BF=E9=87=8C=E4=BA=91=20ESA=20=E9=85=8D=E7=BD=AE=E6=8C=87?=
=?UTF-8?q?=E5=8D=97=EF=BC=8C=E4=BC=98=E5=8C=96=E7=BC=93=E5=AD=98=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=E8=AF=B4=E6=98=8E=EF=BC=9B=E4=BF=AE=E5=A4=8D=20main.g?=
=?UTF-8?q?o=20=E4=B8=AD=E6=B5=81=E5=BC=8F=E4=BC=A0=E8=BE=93=E7=9A=84?=
=?UTF-8?q?=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 6 +++---
main.go | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 7237650..d11d482 100644
--- a/README.md
+++ b/README.md
@@ -112,7 +112,7 @@ go build -o api-proxy main.go
`http://localhost:7890/claude/v1/messages`
-## 🚀 阿里云 ESA (边缘安全加速) 配置指南 (非常重要)
+## 阿里云 ESA (边缘安全加速) 配置指南
如果你使用了阿里 ESA 加速本服务,**必须**在 ESA 控制台中进行以下设置,否则会出现 `Origin Time-out` (源站超时) 或 AI 回复卡顿(打字机效果失效)的问题。
@@ -121,8 +121,8 @@ go build -o api-proxy main.go
| 配置项 | 推荐设置 | 说明 |
| :--- | :--- | :--- |
-| **边缘缓存过期时间**
(Edge Cache TTL) | **不缓存**
(或设置为 0秒) | **核心设置**。必须禁止 CDN 节点缓存 AI 的接口响应,否则第二个用户会看到上一个用户的对话,或者直接报错。建议针对 API 目录(如 `/openai/*`)设置。 |
-| **浏览器缓存过期时间**
(Browser Cache TTL) | **不缓存** | 禁止客户端浏览器缓存接口结果。 |
+| **边缘缓存过期时间**
(Edge Cache TTL) | **优先遵循源站缓存策略**
(如果存在),否则不缓存 | **由于你在这个站点下还有其他服务**,请选择此项。本代理服务会自动发送 `Cache-Control: no-cache` 头,CDN 看到后就不会缓存 API 响应,而你站点下的其他静态资源则可以正常缓存。 |
+| **浏览器缓存过期时间**
(Browser Cache TTL) | **优先遵循源站** | 同上,让客户端遵循源站的指令。 |
| **查询字符串** | **保留** (或 遵循源站) | 某些 AI API 使用 URL 参数传递版本号或签名,不可忽略。 |
### 2. 回源配置 (Origin) - 解决超时问题的关键
diff --git a/main.go b/main.go
index 6d542a2..4e31c3f 100644
--- a/main.go
+++ b/main.go
@@ -317,8 +317,8 @@ func init() {
res.Header.Set("Pragma", "no-cache")
res.Header.Set("Expires", "0")
- // 针对流式传输的额外强化
- if strings.Contains(res.Header.Get("Content-Type"), "event-stream") {
+ return nil
+ }
// Optional: Custom error handler
proxy.ErrorHandler = func(w http.ResponseWriter, r *http.Request, err error) {