diff --git a/src/app/contentManagement/controllers/OnlyOfficeController.php b/src/app/contentManagement/controllers/OnlyOfficeController.php
index 71f82a4cbbb27b959034bcac4d2bacbef0188a7c..0ae79843607e70b11c21729cb5b136a46ab01818 100644
--- a/src/app/contentManagement/controllers/OnlyOfficeController.php
+++ b/src/app/contentManagement/controllers/OnlyOfficeController.php
@@ -363,22 +363,64 @@ class OnlyOfficeController
 
         $docUrl = $args['url'] . 'rest/onlyOffice/content?token=' . $jwt;
 
+        $body = [
+            'async'      => false,
+            'filetype'   => $docInfo['extension'],
+            'key'        => CoreConfigModel::uniqueId(),
+            'outputtype' => 'pdf',
+            'title'      => $docInfo['filename'] . 'pdf',
+            'url'        => $docUrl
+        ];
+
+        $serverSecret = (string)$loadedXml->onlyoffice->server_secret;
+        $serverSsl = filter_var((string)$loadedXml->onlyoffice->server_ssl, FILTER_VALIDATE_BOOLEAN);
+
+        $uri = explode("/", $uri);
+        $domain = $uri[0];
+        $path = array_slice($uri, 1);
+        $path = implode("/", $path);
+
+        if (!empty($serverSsl)) {
+            $convertUrl = 'https://';
+        } else {
+            $convertUrl = 'http://';
+        }
+
+        $convertUrl .= "{$domain}:{$port}";
+
+        if (!empty($path)) {
+            $convertUrl .= '/' . $path;
+        }
+
+        if (substr($convertUrl, -1) != '/') {
+            $convertUrl .= '/';
+        }
+        $convertUrl .= 'ConvertService.ashx';
+
+        $headers = [
+            'Accept: application/json',
+            'Content-Type: application/json'
+        ];
+
+        if (!empty($serverSecret)) {
+            $header = [
+                "alg" => "HS256",
+                "typ" => "JWT"
+            ];
+
+            $tokenOnlyOffice = JWT::encode($body, $serverSecret, 'HS256', null, $header);
+            $headers[] = 'Authorization: Bearer ' . $tokenOnlyOffice;
+        }
+
         $response = CurlModel::execSimple([
-            'url'     => $uri . ':' . $port . '/ConvertService.ashx',
-            'headers' => ['accept: application/json'],
+            'url'     => $convertUrl,
+            'headers' => $headers,
             'method'  => 'POST',
-            'body'    => json_encode([
-                'async'      => false,
-                'filetype'   => $docInfo['extension'],
-                'key'        => CoreConfigModel::uniqueId(),
-                'outputtype' => 'pdf',
-                'title'      => $docInfo['filename'] . 'pdf',
-                'url'        => $docUrl
-            ])
+            'body'    => json_encode($body)
         ]);
 
         if ($response['code'] != 200) {
-            return ['errors' => 'OnlyOffice conversion failed '];
+            return ['errors' => 'OnlyOffice conversion failed'];
         }
         if (!empty($response['response']['error'])) {
             return ['errors' => 'OnlyOffice conversion failed : ' . $response['response']['error']];