diff --git a/pkg/server/server_entrypoint_tcp.go b/pkg/server/server_entrypoint_tcp.go index 51043403d..a53750784 100644 --- a/pkg/server/server_entrypoint_tcp.go +++ b/pkg/server/server_entrypoint_tcp.go @@ -135,6 +135,10 @@ func (e *TCPEntryPoint) startTCP(ctx context.Context) { conn, err := e.listener.Accept() if err != nil { logger.Error(err) + if netErr, ok := err.(net.Error); ok && netErr.Temporary() { + continue + } + return } diff --git a/pkg/tls/certificate.go b/pkg/tls/certificate.go index 1e700f111..4620c4fba 100644 --- a/pkg/tls/certificate.go +++ b/pkg/tls/certificate.go @@ -80,7 +80,8 @@ func (f FileOrContent) IsPath() bool { func (f FileOrContent) Read() ([]byte, error) { var content []byte - if _, err := os.Stat(f.String()); err == nil { + if f.IsPath() { + var err error content, err = ioutil.ReadFile(f.String()) if err != nil { return nil, err