فهرست منبع

run sub on http if https failed

Co-Authored-By: Alireza Ahmadi <[email protected]>
MHSanaei 1 سال پیش
والد
کامیت
7f0fc1b8ef
1فایلهای تغییر یافته به همراه11 افزوده شده و 13 حذف شده
  1. 11 13
      sub/sub.go

+ 11 - 13
sub/sub.go

@@ -145,21 +145,19 @@ func (s *Server) Start() (err error) {
 
 	if certFile != "" || keyFile != "" {
 		cert, err := tls.LoadX509KeyPair(certFile, keyFile)
-		if err != nil {
-			listener.Close()
-			return err
-		}
-		c := &tls.Config{
-			Certificates: []tls.Certificate{cert},
+		if err == nil {
+			c := &tls.Config{
+				Certificates: []tls.Certificate{cert},
+			}
+			listener = network.NewAutoHttpsListener(listener)
+			listener = tls.NewListener(listener, c)
+			logger.Info("sub server run https on", listener.Addr())
+		} else {
+			logger.Error("error in loading certificates: ", err)
+			logger.Info("sub server run http on", listener.Addr())
 		}
-		listener = network.NewAutoHttpsListener(listener)
-		listener = tls.NewListener(listener, c)
-	}
-
-	if certFile != "" || keyFile != "" {
-		logger.Info("Sub server run https on", listener.Addr())
 	} else {
-		logger.Info("Sub server run http on", listener.Addr())
+		logger.Info("sub server run http on", listener.Addr())
 	}
 	s.listener = listener