diff --git a/config/appsettings.json b/config/appsettings.json index c1b551c20e..3cdae27a9e 100644 --- a/config/appsettings.json +++ b/config/appsettings.json @@ -65,249 +65,17 @@ } }, "files": { - "thirdparty": { - "enable": [ - "box", - "dropboxv2", - "docusign", - "google", - "onedrive", - "nextcloud", - "owncloud", - "webdav", - "kdrive" - ] - }, + "thirdparty": { "enable": ["box", "dropboxv2", "docusign", "google", "onedrive", "nextcloud", "owncloud", "webdav", "kdrive" ] }, "docservice": { - "coauthor-docs": [ - ".csv", - ".docm", - ".docx", - ".docxf", - ".dotm", - ".dotx", - ".oform", - ".potm", - ".potx", - ".ppsm", - ".pptm", - ".ppsx", - ".pptx", - ".txt", - ".xlsm", - ".xlsx", - ".xltm", - ".xltx" - ], - "commented-docs": [ - ".docm", - ".docx", - ".docxf", - ".dotm", - ".dotx", - ".potm", - ".potx", - ".ppsm", - ".pptm", - ".ppsx", - ".pptx", - ".xlsm", - ".xlsx", - ".xltm", - ".xltx" - ], - "convert-docs": [ - ".doc", - ".dot", - ".dps", - ".dpt", - ".epub", - ".et", - ".ett", - ".fb2", - ".fodp", - ".fods", - ".fodt", - ".htm", - ".html", - ".mht", - ".mhtml", - ".odp", - ".ods", - ".odt", - ".otp", - ".ots", - ".ott", - ".pot", - ".pps", - ".ppt", - ".rtf", - ".stw", - ".sxc", - ".sxi", - ".sxw", - ".wps", - ".wpt", - ".xls", - ".xlsb", - ".xlt", - ".xml" - ], - "edited-docs": [ - ".csv", - ".doc", - ".docm", - ".docx", - ".docxf", - ".dot", - ".dotm", - ".dotx", - ".dps", - ".dpt", - ".epub", - ".et", - ".ett", - ".fb2", - ".fodp", - ".fods", - ".fodt", - ".htm", - ".html", - ".mht", - ".mhtml", - ".odp", - ".ods", - ".odt", - ".oform", - ".otp", - ".ots", - ".ott", - ".pdf", - ".pot", - ".potm", - ".potx", - ".pps", - ".ppsm", - ".ppsx", - ".ppt", - ".pptm", - ".pptx", - ".rtf", - ".stw", - ".sxc", - ".sxi", - ".sxw", - ".txt", - ".wps", - ".wpt", - ".xls", - ".xlsb", - ".xlsm", - ".xlsx", - ".xlt", - ".xltm", - ".xltx", - ".xml" - ], - "encrypted-docs": - [ - ".docm", - ".docx", - ".docxf", - ".dotm", - ".dotx", - ".oform", - ".potm", - ".potx", - ".ppsm", - ".pptm", - ".ppsx", - ".pptx", - ".xlsm", - ".xlsx", - ".xltm", - ".xltx", - ".pdf" - ], + "coauthor-docs": [ ".csv", ".docm", ".docx", ".docxf", ".dotm", ".dotx", ".oform", ".potm", ".potx", ".ppsm", ".pptm", ".ppsx", ".pptx", ".txt", ".xlsm", ".xlsx", ".xltm", ".xltx" ], + "commented-docs": [ ".docm", ".docx", ".docxf", ".dotm", ".dotx", ".potm", ".potx", ".ppsm", ".pptm", ".ppsx", ".pptx", ".xlsm", ".xlsx", ".xltm", ".xltx" ], + "convert-docs": [ ".doc", ".dot", ".dps", ".dpt", ".epub", ".et", ".ett", ".fb2", ".fodp", ".fods", ".fodt", ".htm", ".html", ".mht", ".mhtml", ".odp", ".ods", ".odt", ".otp", ".ots", ".ott", ".pot", ".pps", ".ppt", ".rtf", ".stw", ".sxc", ".sxi", ".sxw", ".wps", ".wpt", ".xls", ".xlsb", ".xlt", ".xml" ], + "edited-docs": [ ".csv", ".doc", ".docm", ".docx", ".docxf", ".dot", ".dotm", ".dotx", ".dps", ".dpt", ".epub", ".et", ".ett", ".fb2", ".fodp", ".fods", ".fodt", ".htm", ".html", ".mht", ".mhtml", ".odp", ".ods", ".odt", ".oform", ".otp", ".ots", ".ott", ".pdf", ".pot", ".potm", ".potx", ".pps", ".ppsm", ".ppsx", ".ppt", ".pptm", ".pptx", ".rtf", ".stw", ".sxc", ".sxi", ".sxw", ".txt", ".wps", ".wpt", ".xls", ".xlsb", ".xlsm", ".xlsx", ".xlt", ".xltm", ".xltx", ".xml" ], + "encrypted-docs": [ ".docm", ".docx", ".docxf", ".dotm", ".dotx", ".oform", ".potm", ".potx", ".ppsm", ".pptm", ".ppsx", ".pptx", ".xlsm", ".xlsx", ".xltm", ".xltx", ".pdf" ], "formfilling-docs": [".pdf"], - "customfilter-docs": - [ - ".xlsm", - ".xlsx", - ".xltm", - ".xltx" - ], - "reviewed-docs": - [ - ".docm", - ".docx", - ".docxf", - ".dotm", - ".dotx" - ], - "viewed-docs": - [ - ".csv", - ".djvu", - ".doc", - ".docm", - ".docx", - ".docxf", - ".dot", - ".dotm", - ".dotx", - ".dps", - ".dpt", - ".epub", - ".et", - ".ett", - ".fb2", - ".fodp", - ".fods", - ".fodt", - ".gdoc", - ".gsheet", - ".gslides", - ".htm", - ".html", - ".mht", - ".mhtml", - ".odp", - ".ods", - ".odt", - ".oform", - ".otp", - ".ots", - ".ott", - ".oxps", - ".pdf", - ".pot", - ".potm", - ".potx", - ".pps", - ".ppsm", - ".ppsx", - ".ppt", - ".pptm", - ".pptx", - ".rtf", - ".stw", - ".sxc", - ".sxi", - ".sxw", - ".txt", - ".wps", - ".wpt", - ".xls", - ".xlsb", - ".xlsm", - ".xlsx", - ".xlt", - ".xltm", - ".xltx", - ".xml", - ".xps" - ], + "customfilter-docs": [ ".xlsm", ".xlsx", ".xltm", ".xltx" ], + "reviewed-docs": [ ".docm", ".docx", ".docxf", ".dotm", ".dotx" ], + "viewed-docs": [ ".csv", ".djvu", ".doc", ".docm", ".docx", ".docxf", ".dot", ".dotm", ".dotx", ".dps", ".dpt", ".epub", ".et", ".ett", ".fb2", ".fodp", ".fods", ".fodt", ".gdoc", ".gsheet", ".gslides", ".htm", ".html", ".mht", ".mhtml", ".odp", ".ods", ".odt", ".oform", ".otp", ".ots", ".ott", ".oxps", ".pdf", ".pot", ".potm", ".potx", ".pps", ".ppsm", ".ppsx", ".ppt", ".pptm", ".pptx", ".rtf", ".stw", ".sxc", ".sxi", ".sxw", ".txt", ".wps", ".wpt", ".xls", ".xlsb", ".xlsm", ".xlsx", ".xlt", ".xltm", ".xltx", ".xml", ".xps" ], "secret": { "value": "secret", "header": "AuthorizationJwt" @@ -326,33 +94,8 @@ "chunk-size": 10485760, "url": "/" }, - "viewed-images": [ - ".svg", - ".bmp", - ".gif", - ".jpeg", - ".jpg", - ".png", - ".ico", - ".tif", - ".tiff", - ".webp" - ], - "viewed-media": [ - ".aac", - ".flac", - ".m4a", - ".mp3", - ".oga", - ".ogg", - ".wav", - ".f4v", - ".m4v", - ".mov", - ".mp4", - ".ogv", - ".webm" - ], + "viewed-images": [ ".svg", ".bmp", ".gif", ".jpeg", ".jpg", ".png", ".ico", ".tif", ".tiff", ".webp" ], + "viewed-media": [ ".aac", ".flac", ".m4a", ".mp3", ".oga", ".ogg", ".wav", ".f4v", ".m4v", ".mov", ".mp4", ".ogv", ".webm" ], "index": [".pptx", ".xlsx", ".docx"], "oform": { "domain": "https://cmsoforms.teamlab.info", @@ -472,47 +215,16 @@ "thumbnail": { "maxDegreeOfParallelism": 1, "sizes": [ - { - "height": 156, - "width": 216 - }, - { - "height": 156, - "width": 240 - }, - { - "height": 156, - "width": 264 - }, - { - "height": 156, - "width": 288 - }, - { - "height": 156, - "width": 312 - }, - { - "height": 156, - "width": 336 - }, - { - "height": 156, - "width": 360 - }, - { - "height": 156, - "width": 400 - }, - { - "height": 156, - "width": 440 - }, - { - "height": 720, - "width": 1280, - "resizeMode": "Max" - } + { "height": 156, "width": 216 }, + { "height": 156, "width": 240 }, + { "height": 156, "width": 264 }, + { "height": 156, "width": 288 }, + { "height": 156, "width": 312 }, + { "height": 156, "width": 336 }, + { "height": 156, "width": 360 }, + { "height": 156, "width": 400 }, + { "height": 156, "width": 440 }, + { "height": 720, "width": 1280, "resizeMode": "Max" } ] }, "csp": { diff --git a/config/nginx/html/custom_401.html b/config/nginx/html/custom_401.html new file mode 100644 index 0000000000..6941f0bab9 --- /dev/null +++ b/config/nginx/html/custom_401.html @@ -0,0 +1,88 @@ + + + + + + 401 Error Page + + + +
+ Error Character +

401 Error!

+

+ Unauthorized request. To access this file, you must enter a password or + be a registered user. +

+
+ + diff --git a/config/nginx/html/custom_403.html b/config/nginx/html/custom_403.html new file mode 100644 index 0000000000..984dfc844d --- /dev/null +++ b/config/nginx/html/custom_403.html @@ -0,0 +1,87 @@ + + + + + + 403 Error Page + + + +
+ Error Character +

403 Error!

+

+ Forbidden. You don't have permissions to access the requested resource. +

+
+ + diff --git a/config/nginx/html/custom_404.html b/config/nginx/html/custom_404.html new file mode 100644 index 0000000000..9b7c22dd46 --- /dev/null +++ b/config/nginx/html/custom_404.html @@ -0,0 +1,87 @@ + + + + + + 404 Error Page + + + +
+ Error Character +

404 Error!

+

+ Page not found. The server cannot find the requested resource. +

+
+ + diff --git a/config/nginx/html/custom_50x.html b/config/nginx/html/custom_50x.html new file mode 100644 index 0000000000..be489db1cd --- /dev/null +++ b/config/nginx/html/custom_50x.html @@ -0,0 +1,87 @@ + + + + + + 500 Error Page + + + +
+ Error Character +

500 Error!

+

+ The server is currently unable to handle this request. +

+
+ + diff --git a/config/nginx/onlyoffice.conf b/config/nginx/onlyoffice.conf index 2df33d5618..f4a1a70966 100644 --- a/config/nginx/onlyoffice.conf +++ b/config/nginx/onlyoffice.conf @@ -366,4 +366,28 @@ server { rewrite /healthchecks/(.*)$ /$1 break; proxy_pass http://127.0.0.1:5033; } + + error_page 401 /custom_401.html; + location = /custom_401.html { + root /etc/nginx/html; + internal; + } + + error_page 403 /custom_403.html; + location = /custom_403.html { + root /etc/nginx/html; + internal; + } + + error_page 404 /custom_404.html; + location = /custom_404.html { + root /etc/nginx/html; + internal; + } + + error_page 500 502 503 504 /custom_50x.html; + location = /custom_50x.html { + root /etc/nginx/html; + internal; + } } diff --git a/install/docker/Dockerfile.runtime b/install/docker/Dockerfile.runtime index 82d173e402..1a8a023bb2 100644 --- a/install/docker/Dockerfile.runtime +++ b/install/docker/Dockerfile.runtime @@ -15,6 +15,7 @@ RUN find config/ -maxdepth 1 -name "*.json" | grep -v test | grep -v dev | xargs tar -C "/app/onlyoffice/" -xvf config.tar && \ cp config/*.config /app/onlyoffice/config/ && \ mkdir -p /etc/nginx/conf.d && cp -f config/nginx/onlyoffice*.conf /etc/nginx/conf.d/ && \ + mkdir -p /etc/nginx/html && cp -f config/nginx/html/* /etc/nginx/html/ && \ mkdir -p /etc/nginx/includes/ && cp -f config/nginx/includes/onlyoffice*.conf /etc/nginx/includes/ && \ sed -i "s/\"number\".*,/\"number\": \"${PRODUCT_VERSION}.${BUILD_NUMBER}\",/g" /app/onlyoffice/config/appsettings.json && \ sed -e 's/#//' -i /etc/nginx/conf.d/onlyoffice.conf @@ -92,6 +93,7 @@ RUN apt-get -y update && \ # copy static services files and config values COPY --from=base /etc/nginx/conf.d /etc/nginx/conf.d +COPY --from=base /etc/nginx/html /etc/nginx/html COPY /buildtools/install/docker/config/nginx/docker-entrypoint.sh /docker-entrypoint.sh COPY /buildtools/install/docker/config/nginx/docker-entrypoint.d /docker-entrypoint.d