make webconsole ssl capable

This commit is contained in:
Qiu Jian
2018-11-03 00:42:33 +08:00
parent 0ad9260186
commit 5a6b4832ea

View File

@@ -2,7 +2,6 @@ package service
import (
"net"
"net/http"
"net/url"
"os"
"strconv"
@@ -11,6 +10,7 @@ import (
"yunion.io/x/log"
"net/http"
"yunion.io/x/onecloud/pkg/cloudcommon"
"yunion.io/x/onecloud/pkg/webconsole"
o "yunion.io/x/onecloud/pkg/webconsole/options"
@@ -62,8 +62,18 @@ func start() {
addr := net.JoinHostPort(o.Options.Address, strconv.Itoa(o.Options.Port))
log.Infof("Start listen on %s", addr)
err := http.ListenAndServe(addr, root)
if err != nil {
log.Fatalf("%v", err)
if o.Options.EnableSsl {
err := http.ListenAndServeTLS(addr,
o.Options.SslCertfile,
o.Options.SslKeyfile,
root)
if err != nil && err != http.ErrServerClosed {
log.Fatalf("%v", err)
}
} else {
err := http.ListenAndServe(addr, root)
if err != nil {
log.Fatalf("%v", err)
}
}
}