@@ -427,6 +427,7 @@ func ProbeHTTP(ctx context.Context, target string, module config.Module, registr
427427 }
428428 }
429429 }
430+
430431 var client * http.Client
431432 var noServerName http.RoundTripper
432433
@@ -455,7 +456,15 @@ func ProbeHTTP(ctx context.Context, target string, module config.Module, registr
455456
456457 } else {
457458 // For standard HTTP/HTTPS, create client from config
458- client , err = pconfig .NewClientFromConfig (httpClientConfig , "http_probe" , pconfig .WithKeepAlivesDisabled ())
459+ httpClientOptions := []pconfig.HTTPClientOption {
460+ pconfig .WithKeepAlivesDisabled (),
461+ }
462+
463+ if len (module .HTTP .SourceInterface ) > 0 {
464+ httpClientOptions = BindToInterface (httpClientOptions , module .HTTP .SourceInterface , logger )
465+ }
466+
467+ client , err = pconfig .NewClientFromConfig (httpClientConfig , "http_probe" , httpClientOptions ... )
459468 if err != nil {
460469 logger .Error ("Error generating HTTP client" , "err" , err )
461470 return false
@@ -466,7 +475,7 @@ func ProbeHTTP(ctx context.Context, target string, module config.Module, registr
466475 serverNamelessConfig := httpClientConfig
467476 serverNamelessConfig .TLSConfig .ServerName = ""
468477
469- noServerName , err = pconfig .NewRoundTripperFromConfig (serverNamelessConfig , "http_probe" , pconfig . WithKeepAlivesDisabled () )
478+ noServerName , err = pconfig .NewRoundTripperFromConfig (serverNamelessConfig , "http_probe" , httpClientOptions ... )
470479 if err != nil {
471480 logger .Error ("Error generating HTTP client without ServerName" , "err" , err )
472481 return false
0 commit comments