summaryrefslogtreecommitdiffstats
path: root/modules/graceful
diff options
context:
space:
mode:
Diffstat (limited to 'modules/graceful')
-rw-r--r--modules/graceful/server.go18
1 files changed, 16 insertions, 2 deletions
diff --git a/modules/graceful/server.go b/modules/graceful/server.go
index 30fb8cdffa..19ce8a866f 100644
--- a/modules/graceful/server.go
+++ b/modules/graceful/server.go
@@ -7,6 +7,7 @@ package graceful
import (
"crypto/tls"
+ "io/ioutil"
"net"
"os"
"strings"
@@ -99,12 +100,25 @@ func (srv *Server) ListenAndServeTLS(certFile, keyFile string, serve ServeFuncti
}
config.Certificates = make([]tls.Certificate, 1)
- var err error
- config.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile)
+
+ certPEMBlock, err := ioutil.ReadFile(certFile)
if err != nil {
log.Error("Failed to load https cert file %s for %s:%s: %v", certFile, srv.network, srv.address, err)
return err
}
+
+ keyPEMBlock, err := ioutil.ReadFile(keyFile)
+ if err != nil {
+ log.Error("Failed to load https key file %s for %s:%s: %v", keyFile, srv.network, srv.address, err)
+ return err
+ }
+
+ config.Certificates[0], err = tls.X509KeyPair(certPEMBlock, keyPEMBlock)
+ if err != nil {
+ log.Error("Failed to create certificate from cert file %s and key file %s for %s:%s: %v", certFile, keyFile, srv.network, srv.address, err)
+ return err
+ }
+
return srv.ListenAndServeTLSConfig(config, serve)
}