[ISSUE-67869312] add TLS support
diff --git a/api/api.go b/api/api.go
index a184f33..10285f2 100644
--- a/api/api.go
+++ b/api/api.go
@@ -31,6 +31,8 @@
 	configExpVarPath        = "api_expvar_path"
 	configReadyPath         = "api_ready"
 	configHealthPath        = "api_health"
+	configTlsKey            = "api_tls_key"
+	configTlsCert           = "api_tls_cert"
 	ConfigDBMaxConns        = "db_config_max_conns"
 	ConfigDBIdleConns       = "db_config_idle_conns"
 	ConfigDBConnsTimeout    = "db_config_conns_timeout_seconds"
@@ -81,7 +83,17 @@
 	if ip != nil {
 		scaffold.SetlocalBindIPAddressV4(ip)
 	}
-	scaffold.SetInsecurePort(port)
+
+	// listen on https
+	if key, cert := config.GetString(configTlsKey), config.GetString(configTlsCert); key != "" && cert != "" {
+		log.Infof("Load TLS key: %v, TLS cert: %v", key, cert)
+		scaffold.SetSecurePort(port)
+		scaffold.SetKeyFile(key)
+		scaffold.SetCertFile(cert)
+	} else { // listen on http
+		scaffold.SetInsecurePort(port)
+	}
+
 	scaffold.CatchSignals()
 
 	// Set an URL that may be used by a load balancer to test if the server is ready to handle requests