fix(traefik): Add TCP router with HostSNIRegexp for wildcard subdomain TLS

Add a TCP-level router using HostSNIRegexp to match unknown subdomains
at the TLS layer and terminate TLS with wildcard certificate.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-03 17:19:21 -05:00
parent a723d784cd
commit 7cc013eaf2

View File

@@ -53,6 +53,29 @@ tls:
sans:
- "*.smoothschedule.com"
tcp:
routers:
# Catch-all for tenant subdomains at TLS layer
# This matches any subdomain that isn't handled by specific HTTP routers
subdomain-sni-router:
rule: 'HostSNIRegexp(`^[a-z0-9-]+\\.smoothschedule\\.com$`)'
entryPoints:
- web-secure
service: nginx-tcp
tls:
passthrough: false
certResolver: letsencrypt-dns
domains:
- main: "smoothschedule.com"
sans:
- "*.smoothschedule.com"
services:
nginx-tcp:
loadBalancer:
servers:
- address: "nginx:80"
http:
routers:
# Main domain and www