From 3ae20b3494db27a7d4520c5bd7eb8bfff11c3372 Mon Sep 17 00:00:00 2001 From: Florent Poinsaut <1256948+FlorentPoinsaut@users.noreply.github.com> Date: Wed, 12 Jan 2022 08:30:19 +0100 Subject: [PATCH 1/2] Fix traefik v1 example We need to escape $ char in traefik v1 label otherwise this error occurs: `ERROR: Invalid interpolation format for "labels" option in service "web": "https://$1/remote.php/dav/"` Signed-off-by: Florent Poinsaut --- .../configuration_server/reverse_proxy_configuration.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/admin_manual/configuration_server/reverse_proxy_configuration.rst b/admin_manual/configuration_server/reverse_proxy_configuration.rst index c1be32a18..e735b32b1 100644 --- a/admin_manual/configuration_server/reverse_proxy_configuration.rst +++ b/admin_manual/configuration_server/reverse_proxy_configuration.rst @@ -77,14 +77,14 @@ Using docker tags: :: traefik.frontend.redirect.permanent: 'true' - traefik.frontend.redirect.regex: https://(.*)/.well-known/(card|cal)dav - traefik.frontend.redirect.replacement: https://$1/remote.php/dav/ + traefik.frontend.redirect.regex: 'https://(.*)/.well-known/(?:card|cal)dav' + traefik.frontend.redirect.replacement: 'https://$$1/remote.php/dav/' Using traefik.toml: :: [frontends.frontend1.redirect] - regex = "https://(.*)/.well-known/(card|cal)dav" + regex = "https://(.*)/.well-known/(?:card|cal)dav" replacement = "https://$1/remote.php/dav/ permanent = true From dc04cd1192784980a15ce365709790d32caf2178 Mon Sep 17 00:00:00 2001 From: Florent Poinsaut Date: Tue, 14 Jun 2022 09:45:39 +0200 Subject: [PATCH 2/2] Remove trailing slash + add traefik v2 Docker label example + homogeneization of examples Signed-off-by: Florent Poinsaut --- .../reverse_proxy_configuration.rst | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/admin_manual/configuration_server/reverse_proxy_configuration.rst b/admin_manual/configuration_server/reverse_proxy_configuration.rst index e735b32b1..c7acce931 100644 --- a/admin_manual/configuration_server/reverse_proxy_configuration.rst +++ b/admin_manual/configuration_server/reverse_proxy_configuration.rst @@ -73,32 +73,42 @@ Thanks to `@ffried `_ for apache2 example. Traefik 1 ^^^^^^^^^ -Using docker tags: +Using Docker labels: :: traefik.frontend.redirect.permanent: 'true' traefik.frontend.redirect.regex: 'https://(.*)/.well-known/(?:card|cal)dav' - traefik.frontend.redirect.replacement: 'https://$$1/remote.php/dav/' + traefik.frontend.redirect.replacement: 'https://$$1/remote.php/dav' Using traefik.toml: :: [frontends.frontend1.redirect] regex = "https://(.*)/.well-known/(?:card|cal)dav" - replacement = "https://$1/remote.php/dav/ + replacement = "https://$1/remote.php/dav permanent = true Thanks to `@pauvos `_ and `@mrtumnus `_ for traefik examples. Traefik 2 ^^^^^^^^^ + +Using Docker labels: +:: + + traefik.http.routers.nextcloud.middlewares: 'nextcloud_redirectregex' + traefik.http.middlewares.nextcloud_redirectregex.redirectregex.permanent: true + traefik.http.middlewares.nextcloud_redirectregex.redirectregex.regex: 'https://(.*)/.well-known/(?:card|cal)dav' + traefik.http.middlewares.nextcloud_redirectregex.redirectregex.replacement: 'https://$${1}/remote.php/dav' + +Using a TOML file: :: [http.middlewares] [http.middlewares.nextcloud-redirectregex.redirectRegex] permanent = true - regex = "https://(.*)/.well-known/(card|cal)dav" - replacement = "https://${1}/remote.php/dav/" + regex = "https://(.*)/.well-known/(?:card|cal)dav" + replacement = "https://${1}/remote.php/dav" HAProxy ^^^^^^^