diff --git a/pkg/plugin/client/http2http.go b/pkg/plugin/client/http2http.go index 889a10f6..e50a91c0 100644 --- a/pkg/plugin/client/http2http.go +++ b/pkg/plugin/client/http2http.go @@ -21,6 +21,7 @@ import ( stdlog "log" "net/http" "net/http/httputil" + "time" "github.com/fatedier/golib/pool" @@ -68,7 +69,7 @@ func NewHTTP2HTTPPlugin(_ PluginContext, options v1.ClientPluginOptions) (Plugin p.s = &http.Server{ Handler: rp, - ReadHeaderTimeout: 0, + ReadHeaderTimeout: 60 * time.Second, } go func() { diff --git a/pkg/plugin/client/http2https.go b/pkg/plugin/client/http2https.go index 538f2850..8119e095 100644 --- a/pkg/plugin/client/http2https.go +++ b/pkg/plugin/client/http2https.go @@ -22,6 +22,7 @@ import ( stdlog "log" "net/http" "net/http/httputil" + "time" "github.com/fatedier/golib/pool" @@ -77,7 +78,7 @@ func NewHTTP2HTTPSPlugin(_ PluginContext, options v1.ClientPluginOptions) (Plugi p.s = &http.Server{ Handler: rp, - ReadHeaderTimeout: 0, + ReadHeaderTimeout: 60 * time.Second, } go func() { diff --git a/pkg/transport/tls.go b/pkg/transport/tls.go index e8d2bf48..19ebca73 100644 --- a/pkg/transport/tls.go +++ b/pkg/transport/tls.go @@ -20,6 +20,7 @@ import ( "crypto/tls" "crypto/x509" "encoding/pem" + "fmt" "math/big" "os" "time" @@ -85,7 +86,9 @@ func newCertPool(caPath string) (*x509.CertPool, error) { return nil, err } - pool.AppendCertsFromPEM(caCrt) + if !pool.AppendCertsFromPEM(caCrt) { + return nil, fmt.Errorf("failed to parse CA certificate from file %q: no valid PEM certificates found", caPath) + } return pool, nil }