diff --git a/dev.env b/dev.env index e42f23f..d64700d 100644 --- a/dev.env +++ b/dev.env @@ -4,4 +4,4 @@ ENV=dev NETWORK_NAME=proxy CERTBOT_CA_RESOLVER=https://acme-staging-v02.api.letsencrypt.org/directory DOMAIN=dev.kovagoadi.hu -TRAEFIK_LEGACY_OPT= \ No newline at end of file +TRAEFIK_LEGACY_OPT="--providers.file.filename=/etc/traefik/forward-to-legacy-nginx.yaml" \ No newline at end of file diff --git a/dev/forward-to-legacy-nginx.yaml b/dev/forward-to-legacy-nginx.yaml new file mode 100644 index 0000000..e184fe0 --- /dev/null +++ b/dev/forward-to-legacy-nginx.yaml @@ -0,0 +1,39 @@ +# ./traefik/forward-to-legacy-nginx.yaml + +tcp: + routers: + # Router for HTTPS (Passthrough) + nginx-legacy-router-secure: + rule: "HostSNI(`*`)" + service: nginx-legacy-service-secure + # Passthrough must be true for SSL to reach Nginx encrypted + tls: + passthrough: true + priority: 1 + entryPoints: + - "https" + + services: + # Service defining the external IP + nginx-legacy-service-secure: + loadBalancer: + servers: + # This is the actual external IP and Port of your Nginx + - address: "webserver:443" + +http: + routers: + # Router for HTTP + nginx-legacy-router: + rule: "HostRegexp(`^.+$`)" + service: nginx-legacy-service + # Low priority ensures specific containers are handled first + priority: 1 + entryPoints: + - "web" + + services: + nginx-legacy-service: + loadBalancer: + servers: + - url: "http://webserver:80" \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index ec912a7..52c1850 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -6,6 +6,7 @@ services: - no-new-privileges:true networks: - proxy + - legacy-nginx command: - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" @@ -45,5 +46,8 @@ services: - traefik.http.routers.https.tls.certresolver=letsencrypt networks: proxy: + legacy-nginx: + name: proxy + external: true volumes: letsencrypt: \ No newline at end of file