@@ -13,6 +13,7 @@ import (
1313 "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/ip"
1414 "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/logger"
1515 internaloidc "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/providers/oidc"
16+ "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/requests"
1617 "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/util"
1718)
1819
@@ -30,20 +31,20 @@ func Validate(o *options.Options) error {
3031 msgs = parseSignatureKey(o, msgs)
3132
3233 if o.SSLInsecureSkipVerify {
33− insecureTransport := &http.Transport{
34− TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, // #nosec G402 -- InsecureSkipVerify is a configurable option we allow
35− }
36− http.DefaultClient = &http.Client{Transport: insecureTransport}
34+ transport := requests.DefaultTransport.Next.(*http.Transport).Clone()
35+ transport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true} // #nosec G402 -- InsecureSkipVerify is a configurable option we allow
36+
37+ requests.DefaultHTTPClient = &http.Client{Transport: transport}
3738 } else if len(o.Providers[0].CAFiles) > 0 {
3839 pool, err := util.GetCertPool(o.Providers[0].CAFiles, o.Providers[0].UseSystemTrustStore)
3940 if err == nil {
40− transport := http.DefaultTransport.(*http.Transport).Clone()
41+ transport := requests.DefaultTransport.Next.(*http.Transport).Clone()
4142 transport.TLSClientConfig = &tls.Config{
4243 RootCAs: pool,
4344 MinVersion: tls.VersionTLS12,
4445 }
4546
46− http.DefaultClient = &http.Client{Transport: transport}
47+ requests.DefaultHTTPClient = &http.Client{Transport: transport}
4748 } else {
4849 msgs = append(msgs, fmt.Sprintf("unable to load provider CA file(s): %v", err))
4950 }