diff --git a/public_html/appmonitor/classes/appmonitor-checks.class.php b/public_html/appmonitor/classes/appmonitor-checks.class.php
index 4acdcc4d3d6da13c658375e60bea2e0394badb12..82df3271a5e0d3172771b368b20a3050caa2341a 100644
--- a/public_html/appmonitor/classes/appmonitor-checks.class.php
+++ b/public_html/appmonitor/classes/appmonitor-checks.class.php
@@ -249,7 +249,7 @@ class appmonitorcheck {
                 ;
         $iWarn = isset($aParams["warning"]) ? (int)($aParams["warning"]) : 30;
 
-        $sMessage="url $sUrl ... ";
+        $sMessage="Checked url: $sUrl ... ";
         $certinfo=$this->_certGetInfos($sUrl);
         if(isset($certinfo['_error'])){
             $this->_setReturn(RESULT_ERROR, $certinfo['_error'] . $sMessage);
@@ -270,15 +270,15 @@ class appmonitorcheck {
                 . ( $iDaysleft ? "($iDaysleft days left)" : "expired since ".(-$iDaysleft)." days.")
                 ;
         if ($iDaysleft<0) {
-            $this->_setReturn(RESULT_ERROR, 'Expired ' . $sMessage);
+            $this->_setReturn(RESULT_ERROR, 'Expired! ' . $sMessage);
             return true;
         }
         if ($iDaysleft<=$iWarn) {
-            $this->_setReturn(RESULT_WARNING, 'Expires soon ' . $sMessage);
+            $this->_setReturn(RESULT_WARNING, 'Expires soon. ' . $sMessage);
             return true;
         }
         // echo '<pre>';
-        $this->_setReturn(RESULT_OK, 'OK, is valid ' . $sMessage);
+        $this->_setReturn(RESULT_OK, 'OK, is valid. ' . $sMessage);
         return true;
     }
 
@@ -448,7 +448,7 @@ class appmonitorcheck {
     }
 
     /**
-     * check mysql connection to a database
+     * check mysql connection to a database using mysqli
      * @param array $aParams
      * array(
      *     "server" 
@@ -460,12 +460,10 @@ class appmonitorcheck {
      */
     private function checkMysqlConnect($aParams) {
         $this->_checkArrayKeys($aParams, "server,user,password,db");
-        if (!isset($aParams["port"])) {
-            $aParams["port"] = false;
-        }
-        $db = mysqli_connect(
-                $aParams["server"], $aParams["user"], $aParams["password"], $aParams["db"], $aParams["port"]
-        );
+        $db = (isset($aParams["port"]) && $aParams["port"]) 
+                ? mysqli_connect($aParams["server"], $aParams["user"], $aParams["password"], $aParams["db"], $aParams["port"])
+                : mysqli_connect($aParams["server"], $aParams["user"], $aParams["password"], $aParams["db"])
+                ;
         if ($db) {
             $this->_setReturn(RESULT_OK, "OK: Mysql database " . $aParams["db"] . " was connected");
             mysqli_close($db);
@@ -544,8 +542,8 @@ class appmonitorcheck {
             $o = new PDO("sqlite:" . $aParams["db"]);
             $this->_setReturn(RESULT_OK, "OK: Sqlite database " . $aParams["db"] . " was connected");
             return true;
-        } catch (Exception $exc) {
-            $this->_setReturn(RESULT_ERROR, "ERROR: Sqlite database " . $aParams["db"] . " was not connected. " . mysqli_connect_error());
+        } catch (Exception $e) {
+            $this->_setReturn(RESULT_ERROR, "ERROR: Sqlite database " . $aParams["db"] . " was not connected. " . $e->getMessage());
             return false;
         }
     }
diff --git a/public_html/appmonitor/index.php b/public_html/appmonitor/index.php
index d867a90f1114adfa83f8618ccb8bc4f72971cacd..52cf4eb70efdc43255059f6ae98ddb4093a7b641 100644
--- a/public_html/appmonitor/index.php
+++ b/public_html/appmonitor/index.php
@@ -131,6 +131,20 @@ $oMonitor->addCheck(
     )
 );
 
+// ----------------------------------------------------------------------
+// ssl cert
+// ----------------------------------------------------------------------
+if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']){
+    $oMonitor->addCheck(
+        array(
+            "name" => "Certificate check",
+            "description" => "Check if SSL cert is valid and does not expire soon",
+            "check" => array(
+                "function" => "Cert",
+            ),
+        )
+    );
+}
 
 // Gesamt-Ergebnis - ohne Param=aut. max. Wert nehmen
 $oMonitor->setResult();