mirror of
https://github.com/WJQSERVER-STUDIO/ghproxy.git
synced 2026-02-03 08:11:11 +08:00
25w06b
This commit is contained in:
parent
ac6b641995
commit
9536cc5b49
4 changed files with 25 additions and 7 deletions
|
|
@ -1,5 +1,10 @@
|
||||||
# 更新日志
|
# 更新日志
|
||||||
|
|
||||||
|
25w06b
|
||||||
|
---
|
||||||
|
- PRE-RELEASE: 此版本是改进验证版本,普通用户请勿使用;
|
||||||
|
- CHANGE: Remove `Conection: Upgrade` header, which is not currently supported by some web server configurations.
|
||||||
|
|
||||||
25w06a
|
25w06a
|
||||||
---
|
---
|
||||||
- PRE-RELEASE: 此版本是改进验证版本,普通用户请勿使用;
|
- PRE-RELEASE: 此版本是改进验证版本,普通用户请勿使用;
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
25w06a
|
25w06b
|
||||||
|
|
@ -35,10 +35,14 @@ func ChunkedProxyRequest(c *gin.Context, u string, cfg *config.Config, mode stri
|
||||||
}
|
}
|
||||||
setRequestHeaders(c, headReq)
|
setRequestHeaders(c, headReq)
|
||||||
// 删除Conection Upgrade头, 避免与HTTP/2冲突(检查是否存在Upgrade头)
|
// 删除Conection Upgrade头, 避免与HTTP/2冲突(检查是否存在Upgrade头)
|
||||||
if headReq.Header.Get("Connection") == "Upgrade" {
|
removeWSHeader(headReq)
|
||||||
headReq.Header.Del("Connection")
|
|
||||||
}
|
|
||||||
AuthPassThrough(c, cfg, 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)
|
headResp, err := client.Do(headReq)
|
||||||
if err != nil {
|
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") // 确保设置分块传输编码
|
req.Header.Set("Transfer-Encoding", "chunked") // 确保设置分块传输编码
|
||||||
setRequestHeaders(c, req)
|
setRequestHeaders(c, req)
|
||||||
// 删除Conection Upgrade头, 避免与HTTP/2冲突(检查是否存在Upgrade头)
|
// 删除Conection Upgrade头, 避免与HTTP/2冲突(检查是否存在Upgrade头)
|
||||||
if req.Header.Get("Connection") == "Upgrade" {
|
removeWSHeader(req)
|
||||||
req.Header.Del("Connection")
|
|
||||||
}
|
|
||||||
AuthPassThrough(c, cfg, 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)
|
resp, err := client.Do(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue