From 3cb84aeff3b8df33876b137c52d67e33204d5992 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 30 Aug 2024 16:32:14 +0800 Subject: [PATCH] 1 --- server/gamesapi/middleware/caforward.go | 7 +++++-- server/gamesapi/service/sapi_forward.go | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/server/gamesapi/middleware/caforward.go b/server/gamesapi/middleware/caforward.go index 2a0b2bfb..72817d5c 100644 --- a/server/gamesapi/middleware/caforward.go +++ b/server/gamesapi/middleware/caforward.go @@ -7,7 +7,6 @@ import ( "io/ioutil" "jccommon" "main/service" - "main/mt" "net/http" net_url "net/url" "q5" @@ -41,7 +40,8 @@ func CaForward(c *gin.Context) { costTime := q5.GetTickCount() - beginTick service.SApiForward.UpdateCostTime(costTime) }() - newUrl := mt.Table.Config.GetById(0).GetRedirectUrl() + c.Request.URL.Path[5:] + downStreamUrl, downStreamHost := service.SApiForward.GetDownStreamHost(); + newUrl := downStreamUrl + c.Request.URL.Path[5:] if !q5.StrContains(newUrl, "?") { newUrl = newUrl + "?" } @@ -105,6 +105,9 @@ func CaForward(c *gin.Context) { f5.GetSysLog().Info("CaForward create request url:%s error:%s", newUrl, createErr) return } + if downStreamHost != "" { + httpRequest.Host = downStreamHost + } client := &http.Client{} if resp, err := client.Do(httpRequest); err == nil { defer resp.Body.Close() diff --git a/server/gamesapi/service/sapi_forward.go b/server/gamesapi/service/sapi_forward.go index 45027915..417a8ef6 100644 --- a/server/gamesapi/service/sapi_forward.go +++ b/server/gamesapi/service/sapi_forward.go @@ -174,3 +174,8 @@ func (this *sApiForward) outputMonitorLog() { time.Sleep(time.Second * 10) } } + +func (this *sApiForward) GetDownStreamHost() (string, string) { + newUrl := mt.Table.Config.GetById(0).GetRedirectUrl() + return newUrl, "" +}