Files
traefik/dev/forward-to-legacy-nginx.yaml
kovagoadi 959669dc66
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 48s
Remote Deployment Pipeline / Cleanup Preview (pull_request) Has been skipped
Remote Deployment Pipeline / Deploy (Production) (pull_request) Has been skipped
Trying this out
2025-12-19 21:57:31 +01:00

67 lines
1.9 KiB
YAML

# ./traefik/forward-to-legacy-nginx.yaml
# static configuration (traefik.yml)
entryPoints:
web:
address: ":80" # or :898 in your case
allowACMEByPass: true # <--- WITHOUT THIS, TRAEFIK ALWAYS WINS
https:
address: ":443"
certificatesResolvers:
letsencrypt:
acme:
email: "kovagoadi@gmail.com"
storage: "acme.json"
httpChallenge:
entryPoint: web
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.dev.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"