diff --git a/cmd/autodiscovery.go b/cmd/autodiscovery.go index da8fb95..fa90fad 100644 --- a/cmd/autodiscovery.go +++ b/cmd/autodiscovery.go @@ -10,7 +10,9 @@ import ( "net/url" "os" "path/filepath" + "time" + "github.com/komari-monitor/komari-agent/dnsresolver" "github.com/komari-monitor/komari-agent/utils" ) @@ -136,7 +138,7 @@ func registerWithAutoDiscovery() error { } // 发送请求 - client := &http.Client{} + client := dnsresolver.GetHTTPClient(30 * time.Second) resp, err := client.Do(req) if err != nil { return fmt.Errorf("failed to send register request: %v", err) diff --git a/monitoring/unit/ip.go b/monitoring/unit/ip.go index aacce63..9721a4d 100644 --- a/monitoring/unit/ip.go +++ b/monitoring/unit/ip.go @@ -16,6 +16,7 @@ var ( // 创建适用于IPv4和IPv6的HTTP客户端 ipv4HTTPClient = &http.Client{ Transport: &http.Transport{ + Proxy: http.ProxyFromEnvironment, DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { dialer := dnsresolver.GetNetDialer(15 * time.Second) return dialer.DialContext(ctx, "tcp4", addr) // 锁v4防止出现问题 @@ -29,6 +30,7 @@ var ( } ipv6HTTPClient = &http.Client{ Transport: &http.Transport{ + Proxy: http.ProxyFromEnvironment, DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { dialer := dnsresolver.GetNetDialer(15 * time.Second) return dialer.DialContext(ctx, "tcp6", addr) // 锁v6防止出现问题 diff --git a/server/websocket.go b/server/websocket.go index 8c5ed82..9d84ce3 100644 --- a/server/websocket.go +++ b/server/websocket.go @@ -192,6 +192,7 @@ func newWSDialer() *websocket.Dialer { d := &websocket.Dialer{ HandshakeTimeout: 15 * time.Second, NetDialContext: dnsresolver.GetDialContext(15 * time.Second), + Proxy: http.ProxyFromEnvironment, } if flags.IgnoreUnsafeCert { d.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}