Skip to content

Commit 382f7cf

Browse files
authored
Fix: traefik www redirect properly (#908)
* wip * Add csi-s3 and have portainer use it * Change request @Hrytsuk 1GB max portainer volume size * Arch Linux Certificates Customization * Attempt to fix the www. holistically * Revert arch-linux changes --------- Co-authored-by: Dustin Kaiser <[email protected]>
1 parent aab7bc6 commit 382f7cf

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

scripts/common.Makefile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,22 @@ export DEPLOYMENT_FQDNS_TESTING_CAPTURE_TRAEFIK_RULE:=$(shell set -o allexport;
9797
echo $$DEPLOYMENT_FQDNS_TESTING_CAPTURE_TRAEFIK_RULE; \
9898
set +o allexport; )
9999
100+
export DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE:=$(shell set -o allexport; \
101+
source $(REPO_CONFIG_LOCATION); \
102+
if [ -z "$${DEPLOYMENT_FQDNS}" ]; then \
103+
DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE="(Host(\`www.$$MACHINE_FQDN\`) && PathPrefix(\`/\`))"; \
104+
else \
105+
IFS=', ' read -r -a hosts <<< "$${DEPLOYMENT_FQDNS}"; \
106+
DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE="(Host(\`www.$$MACHINE_FQDN\`) && PathPrefix(\`/\`))"; \
107+
for element in "$${hosts[@]}"; \
108+
do \
109+
DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE="$$DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE || (Host(\`www.$$element\`) && PathPrefix(\`/\`))";\
110+
done; \
111+
DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE="$$DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE"; \
112+
fi; \
113+
echo $$DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE; \
114+
set +o allexport; )
115+
100116
export DEPLOYMENT_FQDNS_APPMOTION_CAPTURE_TRAEFIK_RULE:=$(shell set -o allexport; \
101117
source $(REPO_CONFIG_LOCATION); \
102118
if [ -z "$${DEPLOYMENT_FQDNS}" ]; then \

services/traefik/docker-compose.yml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ services:
9797
# via https://community.traefik.io/t/v2-2-8-global-redirect-www-to-non-www-with-http-to-https/7428
9898
# see also: https://community.traefik.io/t/get-a-valid-ssl-certificate-for-www-domains-via-traefik-and-lets-encrypt/2023
9999
# Global redirection: https (www.) to https
100-
- traefik.http.routers.www-catchall.rule=Host(`www.osparc.local`)
100+
- traefik.http.routers.www-catchall.rule={{ DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE.strip("\"") }}
101101
- traefik.http.routers.www-catchall.priority=100000
102102
- traefik.http.routers.www-catchall.entrypoints=https,http
103103
- traefik.http.routers.www-catchall.tls=true

services/traefik/template.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ CERTIFICATE_GENERATION_FQDNS='${CERTIFICATE_GENERATION_FQDNS}'
3131
CERTIFICATE_RESOLVE_DNS_CHALLANGE_IP=${CERTIFICATE_RESOLVE_DNS_CHALLANGE_IP}
3232
OPS_TRAEFIK_LETSENCRYPT_ACME_CA_SERVER=${OPS_TRAEFIK_LETSENCRYPT_ACME_CA_SERVER}
3333
OPS_TRAEFIK_LOGLEVEL=${OPS_TRAEFIK_LOGLEVEL}
34-
34+
DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE="${DEPLOYMENT_FQDNS_WWW_CAPTURE_TRAEFIK_RULE}"
3535
PUBLIC_NETWORK=${PUBLIC_NETWORK}
3636
MONITORED_NETWORK=${MONITORED_NETWORK}
3737

0 commit comments

Comments
 (0)