mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 07:40:56 +08:00 
			
		
		
		
	TCP连接源站失败时关闭连接/TCP连接也支持备用源站
This commit is contained in:
		@@ -124,6 +124,7 @@ func (this *TCPListener) handleConn(conn net.Conn) error {
 | 
			
		||||
 | 
			
		||||
	originConn, err := this.connectOrigin(server.Id, server.ReverseProxy, conn.RemoteAddr().String())
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		_ = conn.Close()
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -243,8 +244,19 @@ func (this *TCPListener) connectOrigin(serverId int64, reverseProxy *serverconfi
 | 
			
		||||
		conn, addr, err = OriginConnect(origin, this.port, remoteAddr, requestHost)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			remotelogs.ServerError(serverId, "TCP_LISTENER", "unable to connect origin server: "+addr+": "+err.Error(), "", nil)
 | 
			
		||||
 | 
			
		||||
			SharedOriginStateManager.Fail(origin, requestHost, reverseProxy, func() {
 | 
			
		||||
				reverseProxy.ResetScheduling()
 | 
			
		||||
			})
 | 
			
		||||
 | 
			
		||||
			continue
 | 
			
		||||
		} else {
 | 
			
		||||
			if !origin.IsOk {
 | 
			
		||||
				SharedOriginStateManager.Success(origin, func() {
 | 
			
		||||
					reverseProxy.ResetScheduling()
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user