Compare commits

...

2 Commits

Author SHA1 Message Date
860f4333e1 Testing new config
All checks were successful
Remote Deployment Pipeline / Prepare Context (pull_request) Successful in 2s
Remote Deployment Pipeline / Deploy (Staging) (pull_request) Has been skipped
Remote Deployment Pipeline / Deploy (Dev/Preview) (pull_request) Successful in 46s
Remote Deployment Pipeline / Cleanup Preview (pull_request) Has been skipped
Remote Deployment Pipeline / Deploy (Production) (pull_request) Has been skipped
2025-12-19 19:53:51 +01:00
5d5d7e783a Setup env
All checks were successful
Remote Deployment Pipeline / Prepare Context (pull_request) Successful in 3s
Remote Deployment Pipeline / Deploy (Staging) (pull_request) Has been skipped
Remote Deployment Pipeline / Deploy (Dev/Preview) (pull_request) Successful in 48s
Remote Deployment Pipeline / Deploy (Production) (pull_request) Has been skipped
Remote Deployment Pipeline / Cleanup Preview (pull_request) Has been skipped
2025-12-19 19:36:05 +01:00
3 changed files with 59 additions and 1 deletions

View File

@@ -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=
TRAEFIK_LEGACY_OPT="--providers.file.filename=/etc/traefik/forward-to-legacy-nginx.yaml"

View File

@@ -0,0 +1,54 @@
# ./traefik/forward-to-legacy-nginx.yaml
entryPoints:
web:
# Essential: Allows your routers to intercept /.well-known/acme-challenge/
allowACMEByPass: true
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:
# 1. ROUTE FOR TRAEFIK-MANAGED DOMAINS
# For domains Traefik should handle, send challenges to the internal ACME service.
traefik-acme-handler:
rule: "Host(`test-whoami.kovagoadi.hu`) && PathPrefix(`/.well-known/acme-challenge/`)"
entryPoints:
- "web"
service: "acme-http@internal" # This is the internal service name
priority: 1000 # High priority to ensure it wins
# 2. THE CATCH-ALL ROUTER (LEGACY)
# This remains your broad catch-all. Since it has lower priority,
# the one above handles the Traefik domains, and everything else hits this.
nginx-legacy-router:
rule: "HostRegexp(`^.+$`)"
service: nginx-legacy-service
entryPoints:
- "web"
priority: 1 # Will catch ACME for any domain NOT listed in the handler above
services:
nginx-legacy-service:
loadBalancer:
servers:
- url: "http://webserver:80"

View File

@@ -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: