diff --git a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/OnlyOfficeModule.java b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/OnlyOfficeModule.java
index 3bad8795a747cd12a3daa7ff747dfd557bb4e432..01d51b6b4ae6c98a5656ca7aa76285d2379ed884 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/OnlyOfficeModule.java
+++ b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/OnlyOfficeModule.java
@@ -25,6 +25,8 @@ import java.util.Collections;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.logging.log4j.Logger;
 import org.olat.core.commons.services.doceditor.DocEditor.Mode;
 import org.olat.core.configuration.AbstractSpringModule;
@@ -94,6 +96,13 @@ public class OnlyOfficeModule extends AbstractSpringModule implements ConfigOnOf
 	@Value("${onlyoffice.thumbnails.enabled:false}")
 	private boolean thumbnailsEnabled;
 	
+	@Value("${onlyoffice.http.connect.timeout:30000}")
+	private int httpConnectTimeout;
+	@Value("${onlyoffice.http.connect.request.timeout:30000}")
+	private int httpConnectRequestTimeout;
+	@Value("${onlyoffice.http.connect.socket.timeout:30000}")
+	private int httpSocketTimeout;
+	
 	@Autowired
 	private OnlyOfficeModule(CoordinatorManager coordinateManager) {
 		super(coordinateManager);
@@ -320,5 +329,26 @@ public class OnlyOfficeModule extends AbstractSpringModule implements ConfigOnOf
 		this.thumbnailsEnabled = thumbnailsEnabled;
 		setStringProperty(ONLYOFFICE_THUMBNAILS_ENABLED, Boolean.toString(thumbnailsEnabled), true);
 	}
+	
+	public int getHttpConnectTimeout() {
+		return httpConnectTimeout;
+	}
+
+	public int getHttpConnectRequestTimeout() {
+		return httpConnectRequestTimeout;
+	}
+
+	public int getHttpSocketTimeout() {
+		return httpSocketTimeout;
+	}
+	
+	public HttpClientBuilder httpClientBuilder() {
+		RequestConfig requestConfig = RequestConfig.copy(RequestConfig.DEFAULT)
+				.setConnectTimeout(getHttpConnectTimeout())
+				.setConnectionRequestTimeout(getHttpConnectRequestTimeout())
+				.setSocketTimeout(getHttpSocketTimeout())
+				.build();
+		return HttpClientBuilder.create().setDefaultRequestConfig(requestConfig);
+	}
 
 }
diff --git a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeConversionServiceImpl.java b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeConversionServiceImpl.java
index f87e6c1272729c64bdb27887247a3bae3e05c39a..d6c62307af3e7016ebb9323a03a7b15b65d157ca 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeConversionServiceImpl.java
+++ b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeConversionServiceImpl.java
@@ -32,8 +32,6 @@ import org.apache.http.client.methods.HttpPost;
 import org.apache.http.entity.ContentType;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
 import org.apache.logging.log4j.Logger;
 import org.olat.core.commons.services.doceditor.onlyoffice.OnlyOfficeConversionService;
@@ -78,6 +76,8 @@ public class OnlyOfficeConversionServiceImpl implements OnlyOfficeConversionServ
 	@Autowired
 	private OnlyOfficeSecurityService onlyOfficeSecurityService;
 	@Autowired
+	private OnlyOfficeHttpClientCreator httpClientCreator;
+	@Autowired
 	private MapperService mapperService;
 
 	@Override
@@ -172,7 +172,7 @@ public class OnlyOfficeConversionServiceImpl implements OnlyOfficeConversionServ
 		request.setEntity(requestEntity);
 
 		ConversionResult conversionResult = null;
-		try (CloseableHttpClient client = HttpClientBuilder.create().build();
+		try (CloseableHttpClient client = httpClientCreator.create();
 				CloseableHttpResponse response = client.execute(request)) {
 			int statusCode = response.getStatusLine().getStatusCode();
 			log.debug("Status code of create thumbnail request: {}", statusCode);
@@ -199,7 +199,7 @@ public class OnlyOfficeConversionServiceImpl implements OnlyOfficeConversionServ
 		boolean thumbnailCreated = false;
 		
 		HttpGet downLoadRequest = new HttpGet(fileUrl);
-		try (CloseableHttpClient httpClient = HttpClients.createDefault();
+		try (CloseableHttpClient httpClient = httpClientCreator.create();
 				CloseableHttpResponse httpResponse = httpClient.execute(downLoadRequest);) {
 			if (httpResponse.getStatusLine().getStatusCode() == 200) {
 				InputStream content = httpResponse.getEntity().getContent();
diff --git a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeHttpClientCreator.java b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeHttpClientCreator.java
new file mode 100644
index 0000000000000000000000000000000000000000..16aaad46011a3e6ce15cccb3f70523b92ef4cdb3
--- /dev/null
+++ b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeHttpClientCreator.java
@@ -0,0 +1,47 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.core.commons.services.doceditor.onlyoffice.manager;
+
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.olat.core.commons.persistence.DB;
+import org.olat.core.commons.services.doceditor.onlyoffice.OnlyOfficeModule;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 
+ * Initial date: 23 Feb 2021<br>
+ * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
+ *
+ */
+@Service
+public class OnlyOfficeHttpClientCreator {
+	
+	@Autowired
+	private DB dbInstance;
+	@Autowired
+	private OnlyOfficeModule onlyOfficeModule;
+	
+	public CloseableHttpClient create() {
+		dbInstance.commit();// free connection
+		return onlyOfficeModule.httpClientBuilder().build();
+	}
+	
+}
diff --git a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeServiceImpl.java b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeServiceImpl.java
index ac72c676ce8d3859f2e324e5b071a7c4f239fad1..525ea354c39371da41801b4bfc54aaa0ec0ec1f6 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeServiceImpl.java
+++ b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeServiceImpl.java
@@ -29,7 +29,6 @@ import java.text.SimpleDateFormat;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
 import org.apache.logging.log4j.Logger;
 import org.olat.core.commons.services.doceditor.DocEditor.Mode;
 import org.olat.core.commons.services.doceditor.DocEditorIdentityService;
@@ -87,6 +86,8 @@ public class OnlyOfficeServiceImpl implements OnlyOfficeService {
 	@Autowired
 	private OnlyOfficeSecurityService onlyOfficeSecurityService;
 	@Autowired
+	private OnlyOfficeHttpClientCreator httpClientCreator;
+	@Autowired
 	private DocEditorService documentEditorServie;
 	@Autowired
 	private DocEditorIdentityService identityService;
@@ -253,7 +254,7 @@ public class OnlyOfficeServiceImpl implements OnlyOfficeService {
 		String autorization = "Bearer " + token;
 		HttpGet request = new HttpGet(url);
 		request.addHeader("Authorization", autorization);
-		try (CloseableHttpClient httpClient = HttpClients.createDefault();
+		try (CloseableHttpClient httpClient = httpClientCreator.create();
 				CloseableHttpResponse httpResponse = httpClient.execute(request);) {
 			if (httpResponse.getStatusLine().getStatusCode() == 200) {
 				InputStream content = httpResponse.getEntity().getContent();
diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties
index 9c249c34dfe70a6a0779459f5725cfbddeeb6a85..eda2a62badd42d7d67d332e83daacbbdbce86625 100644
--- a/src/main/resources/serviceconfig/olat.properties
+++ b/src/main/resources/serviceconfig/olat.properties
@@ -1738,6 +1738,11 @@ onlyoffice.usage.restricted.managers=false
 ## Thumbnails
 onlyoffice.thumbnails.enabled=true
 
+## HTTP connection settings
+onlyoffice.http.connect.timeout=30000
+onlyoffice.http.connect.request.timeout=30000
+onlyoffice.http.connect.socket.timeout=30000
+
 
 ########################################
 # Options for monitoring