diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e2fde1..834e8bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # 更新日志 +2.0.2 +--- +- RELEASE: v2.0.2正式版发布; 此版本是v2.0.1改进 +- CHANGE: 由于用户使用了不符合`RFC 9113`规范的请求头, 导致`ghproxy`无法正常工作, 在此版本为用户的错误行为提供补丁; + +25w06b +--- +- PRE-RELEASE: 此版本是改进验证版本,普通用户请勿使用; +- CHANGE: 由于用户使用了不符合`RFC 9113`规范的请求头, 导致`ghproxy`无法正常工作, 在此版本为用户的错误行为提供补丁; + +25w06a +--- +- PRE-RELEASE: 此版本是改进验证版本,普通用户请勿使用; +- CHANGE: Remove `Conection: Upgrade` header, which is not currently supported by some web server configurations. + v2.0.1 --- - RELEASE: v2.0.1正式版发布; 此版本是v2.0.0的小修复版本, 主要修复了Docker启动脚本存在的一些问题 diff --git a/DEV-VERSION b/DEV-VERSION index b24a084..0be6ebf 100644 --- a/DEV-VERSION +++ b/DEV-VERSION @@ -1 +1 @@ -25w05a \ No newline at end of file +25w06b \ No newline at end of file diff --git a/VERSION b/VERSION index 10bf840..e9307ca 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.1 \ No newline at end of file +2.0.2 diff --git a/proxy/chunkreq.go b/proxy/chunkreq.go index b79a788..d45229c 100644 --- a/proxy/chunkreq.go +++ b/proxy/chunkreq.go @@ -34,6 +34,7 @@ func ChunkedProxyRequest(c *gin.Context, u string, cfg *config.Config, mode stri return } setRequestHeaders(c, headReq) + removeWSHeader(headReq) // 删除Conection Upgrade头, 避免与HTTP/2冲突(检查是否存在Upgrade头) AuthPassThrough(c, cfg, headReq) headResp, err := client.Do(headReq) @@ -65,6 +66,7 @@ func ChunkedProxyRequest(c *gin.Context, u string, cfg *config.Config, mode stri req.Header.Set("Transfer-Encoding", "chunked") // 确保设置分块传输编码 setRequestHeaders(c, req) + removeWSHeader(req) // 删除Conection Upgrade头, 避免与HTTP/2冲突(检查是否存在Upgrade头) AuthPassThrough(c, cfg, req) resp, err := client.Do(req) diff --git a/proxy/reqheader.go b/proxy/reqheader.go index e51b261..07525d0 100644 --- a/proxy/reqheader.go +++ b/proxy/reqheader.go @@ -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") +}