From 9f5dfec1c8b6421cbada21f4fd7738ca80d421e1 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 23 Jul 2023 18:57:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88HTTP=E6=BA=90=E7=AB=99?= =?UTF-8?q?=E4=BC=A0=E9=80=92TOA=EF=BC=88=E5=9B=A0=E4=B8=BA=E6=AD=A4?= =?UTF-8?q?=E6=97=B6=E6=BA=90=E7=AB=99=E8=BF=9E=E6=8E=A5=E6=98=AF=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E9=87=8D=E7=94=A8=E7=9A=84=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/nodes/http_client_pool.go | 43 +----------------------------- 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/internal/nodes/http_client_pool.go b/internal/nodes/http_client_pool.go index 9338051..bc626ff 100644 --- a/internal/nodes/http_client_pool.go +++ b/internal/nodes/http_client_pool.go @@ -4,11 +4,8 @@ import ( "context" "crypto/tls" "errors" - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/TeaOSLab/EdgeNode/internal/goman" - "github.com/TeaOSLab/EdgeNode/internal/remotelogs" - "github.com/iwind/TeaGo/types" "github.com/pires/go-proxyproto" "golang.org/x/net/http2" "net" @@ -134,14 +131,8 @@ func (this *HTTPClientPool) Client(req *HTTPRequest, var transport = &HTTPClientTransport{ Transport: &http.Transport{ DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { - // 支持TOA的连接 - conn, err := this.handleTOA(req, ctx, network, originAddr, connectionTimeout) - if conn != nil || err != nil { - return conn, err - } - // 普通的连接 - conn, err = (&net.Dialer{ + conn, err := (&net.Dialer{ Timeout: connectionTimeout, KeepAlive: 1 * time.Minute, }).DialContext(ctx, network, originAddr) @@ -217,38 +208,6 @@ func (this *HTTPClientPool) cleanClients() { } } -// 支持TOA -func (this *HTTPClientPool) handleTOA(req *HTTPRequest, ctx context.Context, network string, originAddr string, connectionTimeout time.Duration) (net.Conn, error) { - // TODO 每个服务读取自身所属集群的TOA设置 - var toaConfig = sharedTOAManager.Config() - if toaConfig != nil && toaConfig.IsOn { - var retries = 3 - for i := 1; i <= retries; i++ { - var port = int(toaConfig.RandLocalPort()) - // TODO 思考是否支持X-Real-IP/X-Forwarded-IP - err := sharedTOAManager.SendMsg("add:" + strconv.Itoa(port) + ":" + configutils.QuoteIP(req.requestRemoteAddr(true)) + ":" + types.String(req.RemotePort())) - if err != nil { - remotelogs.Error("TOA", "add failed: "+err.Error()) - } else { - dialer := net.Dialer{ - Timeout: connectionTimeout, - KeepAlive: 1 * time.Minute, - LocalAddr: &net.TCPAddr{ - Port: port, - }, - } - conn, err := dialer.DialContext(ctx, network, originAddr) - // TODO 需要在合适的时机删除TOA记录 - if err == nil || i == retries { - return conn, err - } - } - } - } - - return nil, nil -} - // 支持PROXY Protocol func (this *HTTPClientPool) handlePROXYProtocol(conn net.Conn, req *HTTPRequest, proxyProtocol *serverconfigs.ProxyProtocolConfig) error { if proxyProtocol != nil && proxyProtocol.IsOn && (proxyProtocol.Version == serverconfigs.ProxyProtocolVersion1 || proxyProtocol.Version == serverconfigs.ProxyProtocolVersion2) {