From 5a6b4832ea90e2dee3aae70a68cc13d3cd9eaf99 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Sat, 3 Nov 2018 00:42:33 +0800 Subject: [PATCH] make webconsole ssl capable --- pkg/webconsole/service/service.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pkg/webconsole/service/service.go b/pkg/webconsole/service/service.go index d5fbccae24..d86ef761c4 100644 --- a/pkg/webconsole/service/service.go +++ b/pkg/webconsole/service/service.go @@ -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) + } } }