This commit is contained in:
WJQSERVER 2025-01-21 16:40:43 +08:00
parent ac6b641995
commit 9536cc5b49
4 changed files with 25 additions and 7 deletions

View file

@ -1,5 +1,10 @@
# 更新日志
25w06b
---
- PRE-RELEASE: 此版本是改进验证版本,普通用户请勿使用;
- CHANGE: Remove `Conection: Upgrade` header, which is not currently supported by some web server configurations.
25w06a
---
- PRE-RELEASE: 此版本是改进验证版本,普通用户请勿使用;

View file

@ -1 +1 @@
25w06a
25w06b

View file

@ -35,10 +35,14 @@ func ChunkedProxyRequest(c *gin.Context, u string, cfg *config.Config, mode stri
}
setRequestHeaders(c, headReq)
// 删除Conection Upgrade头, 避免与HTTP/2冲突(检查是否存在Upgrade头)
if headReq.Header.Get("Connection") == "Upgrade" {
headReq.Header.Del("Connection")
}
removeWSHeader(headReq)
AuthPassThrough(c, cfg, headReq)
// 打印请求Header(for debug)
for key, values := range headReq.Header {
for _, value := range values {
fmt.Printf("%s: %s\n", key, value)
}
}
headResp, err := client.Do(headReq)
if err != nil {
@ -70,10 +74,14 @@ func ChunkedProxyRequest(c *gin.Context, u string, cfg *config.Config, mode stri
req.Header.Set("Transfer-Encoding", "chunked") // 确保设置分块传输编码
setRequestHeaders(c, req)
// 删除Conection Upgrade头, 避免与HTTP/2冲突(检查是否存在Upgrade头)
if req.Header.Get("Connection") == "Upgrade" {
req.Header.Del("Connection")
}
removeWSHeader(req)
AuthPassThrough(c, cfg, req)
// 打印请求Header(for debug)
for key, values := range req.Header {
for _, value := range values {
fmt.Printf("%s: %s\n", key, value)
}
}
resp, err := client.Do(req)
if err != nil {

View file

@ -14,3 +14,8 @@ func setRequestHeaders(c *gin.Context, req *http.Request) {
}
}
}
func removeWSHeader(req *http.Request) {
req.Header.Del("Upgrade")
req.Header.Del("Connection")
}