File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -117,7 +117,7 @@ function generate_roll_env_yml() {
117117 else
118118 traefik_rules+=" || "
119119 fi
120- traefik_rules+=" HostRegexp(\` {subdomain:.+} .${hostname} \` ) || Host(\` ${hostname} \` )"
120+ traefik_rules+=" HostRegexp(\` ^.+ \\ .${hostname// . / \\ .} \$\$ \` ) || Host(\` ${hostname} \` )"
121121 done < <( get_all_hostnames)
122122
123123 # Build extra_hosts entries
@@ -134,7 +134,7 @@ services:
134134 nginx:
135135 labels:
136136 - traefik.http.routers.\$ {ROLL_ENV_NAME}-nginx.rule=
137- HostRegexp(\` {subdomain:.+} .\$ {TRAEFIK_DOMAIN}\` ) || Host(\`\$ {TRAEFIK_DOMAIN}\` )
137+ HostRegexp(\` ^.+ \\ .\$ {TRAEFIK_DOMAIN}\$\$ \` ) || Host(\`\$ {TRAEFIK_DOMAIN}\` )
138138 || ${traefik_rules}
139139 volumes:
140140 - ./.roll/nginx/stores.map:/etc/nginx/default.d/stores.map:ro
Original file line number Diff line number Diff line change @@ -1098,6 +1098,18 @@ function signEnvironmentCertificate() {
10981098 }
10991099 fi
11001100
1101+ # Regenerate traefik dynamic config and restart to pick up new certificates
1102+ logVerbose " Regenerating traefik configuration..."
1103+ if [[ $RESTORE_VERBOSE -eq 1 ]]; then
1104+ " ${ROLL_DIR} /bin/roll" svc up traefik || {
1105+ logMessage WARNING " Failed to restart traefik"
1106+ }
1107+ else
1108+ " ${ROLL_DIR} /bin/roll" svc up traefik > /dev/null 2>&1 || {
1109+ logMessage WARNING " Failed to restart traefik"
1110+ }
1111+ fi
1112+
11011113 logMessage SUCCESS " SSL certificates signed for ${domain} "
11021114}
11031115
Original file line number Diff line number Diff line change @@ -930,6 +930,18 @@ function signEnvironmentCertificate() {
930930 }
931931 fi
932932
933+ # Regenerate traefik dynamic config and restart to pick up new certificates
934+ logVerbose " Regenerating traefik configuration..."
935+ if [[ $RESTORE_VERBOSE -eq 1 ]]; then
936+ " ${ROLL_DIR} /bin/roll" svc up traefik || {
937+ logMessage WARNING " Failed to restart traefik"
938+ }
939+ else
940+ " ${ROLL_DIR} /bin/roll" svc up traefik > /dev/null 2>&1 || {
941+ logMessage WARNING " Failed to restart traefik"
942+ }
943+ fi
944+
933945 logMessage SUCCESS " SSL certificates signed for ${domain} "
934946}
935947
Original file line number Diff line number Diff line change @@ -16,20 +16,20 @@ Multiple top-level domains may also be setup by following the instructions below
1616 varnish :
1717 labels :
1818 - traefik.http.routers.${ROLL_ENV_NAME}-varnish.rule=
19- HostRegexp(`{subdomain:.+} .${TRAEFIK_DOMAIN}`)
19+ HostRegexp(`^.+\ .${TRAEFIK_DOMAIN}$$ `)
2020 || Host(`${TRAEFIK_DOMAIN}`)
21- || HostRegexp(`{subdomain:.+} .alternate1.test`)
21+ || HostRegexp(`^.+\ .alternate1\ .test$$ `)
2222 || Host(`alternate1.test`)
23- || HostRegexp(`{subdomain:.+} .alternate2.test`)
23+ || HostRegexp(`^.+\ .alternate2\ .test$$ `)
2424 || Host(`alternate2.test`)
2525 nginx :
2626 labels :
2727 - traefik.http.routers.${ROLL_ENV_NAME}-nginx.rule=
28- HostRegexp(`{subdomain:.+} .${TRAEFIK_DOMAIN}`)
28+ HostRegexp(`^.+\ .${TRAEFIK_DOMAIN}$$ `)
2929 || Host(`${TRAEFIK_DOMAIN}`)
30- || HostRegexp(`{subdomain:.+} .alternate1.test`)
30+ || HostRegexp(`^.+\ .alternate1\ .test$$ `)
3131 || Host(`alternate1.test`)
32- || HostRegexp(`{subdomain:.+} .alternate2.test`)
32+ || HostRegexp(`^.+\ .alternate2\ .test$$ `)
3333 || Host(`alternate2.test`)
3434 ` ` `
3535
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ services:
77 - traefik.http.routers.${ROLL_ENV_NAME}-nginx.tls=true
88 - traefik.http.routers.${ROLL_ENV_NAME}-nginx.priority=2
99 - traefik.http.routers.${ROLL_ENV_NAME}-nginx.rule=
10- HostRegexp(`{subdomain:.+} .${TRAEFIK_DOMAIN}`) || Host(`${TRAEFIK_DOMAIN}`)
10+ HostRegexp(`^.+\ .${TRAEFIK_DOMAIN}$$ `) || Host(`${TRAEFIK_DOMAIN}`)
1111 - traefik.http.services.${ROLL_ENV_NAME}-nginx.loadbalancer.server.port=80
1212 - traefik.docker.network=${ROLL_ENV_NAME}_default
1313 volumes :
Original file line number Diff line number Diff line change @@ -15,6 +15,6 @@ services:
1515 - traefik.http.routers.${ROLL_ENV_NAME}-varnish.tls=true
1616 - traefik.http.routers.${ROLL_ENV_NAME}-varnish.priority=1
1717 - traefik.http.routers.${ROLL_ENV_NAME}-varnish.rule=
18- HostRegexp(`{subdomain:.+} .${TRAEFIK_DOMAIN}`) || Host(`${TRAEFIK_DOMAIN}`)
18+ HostRegexp(`^.+\ .${TRAEFIK_DOMAIN}$$ `) || Host(`${TRAEFIK_DOMAIN}`)
1919 - traefik.http.services.${ROLL_ENV_NAME}-varnish.loadbalancer.server.port=80
2020 - traefik.docker.network=${ROLL_ENV_NAME}_default
Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ services:
1111 - traefik.http.routers.${ROLL_ENV_NAME}-livereload.tls=true
1212 - traefik.http.routers.${ROLL_ENV_NAME}-livereload.priority=3
1313 - traefik.http.routers.${ROLL_ENV_NAME}-livereload.rule=
14- (HostRegexp(`{subdomain:.+} .${TRAEFIK_DOMAIN}`) || Host(`${TRAEFIK_DOMAIN}`))
14+ (HostRegexp(`^.+\ .${TRAEFIK_DOMAIN}$$ `) || Host(`${TRAEFIK_DOMAIN}`))
1515 && (Path(`/livereload.js`) || Path(`/livereload`))
1616 - traefik.http.routers.${ROLL_ENV_NAME}-livereload.service=${ROLL_ENV_NAME}-livereload
1717 - traefik.http.services.${ROLL_ENV_NAME}-livereload.loadbalancer.server.port=35729
You can’t perform that action at this time.
0 commit comments