infrastructure:tls-certificates
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| infrastructure:tls-certificates [2026/02/06 20:08] – Document TLS/SSL setup with Lets Encrypt admin | infrastructure:tls-certificates [2026/02/07 10:39] (current) – Simplified admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== TLS / SSL Certificates ====== | + | ====== TLS Certificates ====== |
| - | Configured: 2026-02-06 | + | Wildcard cert for '' |
| - | ===== Overview | + | ===== Traefik Config |
| - | All internal services use valid Lets Encrypt certificates via Cloudflare DNS challenge. | + | * Config: ''/ |
| + | * Routes: ''/ | ||
| + | * CF Token: ''/ | ||
| - | ===== Domain Structure ===== | + | Auto-renewal every 90 days. |
| - | ^ Type ^ Domain ^ Target ^ | ||
| - | | Wildcard | *.home.miskam.xyz | 10.100.161.102 (Traefik) | | ||
| - | | Public | burgenlandkreis.events | WAN (existing) | | ||
| - | |||
| - | ===== Services ===== | ||
| - | |||
| - | ^ Service ^ URL ^ | ||
| - | | n8n | https:// | ||
| - | | Vaultwarden | https:// | ||
| - | | DokuWiki | https:// | ||
| - | | Uptime Kuma | https:// | ||
| - | | Checkmk | https:// | ||
| - | |||
| - | Legacy URLs (*.srv.internal) still work but use self-signed certificates. | ||
| - | |||
| - | ===== Architecture ===== | ||
| - | |||
| - | < | ||
| - | Internet/ | ||
| - | | | ||
| - | v | ||
| - | *.home.miskam.xyz (Cloudflare DNS → 10.100.161.102) | ||
| - | | | ||
| - | v | ||
| - | ┌─────────────────────────────────────────┐ | ||
| - | │ | ||
| - | │ - Lets Encrypt via DNS Challenge | ||
| - | │ - Wildcard cert: *.home.miskam.xyz | ||
| - | │ - Auto-renewal | ||
| - | └─────────────────────────────────────────┘ | ||
| - | | | ||
| - | v | ||
| - | Backend Services (CT 110-115) | ||
| - | </ | ||
| - | |||
| - | ===== Certificate Details ===== | ||
| - | |||
| - | * **Issuer:** Lets Encrypt R12 | ||
| - | * **Type:** Wildcard | ||
| - | * **Domain:** *.home.miskam.xyz | ||
| - | * **Valid:** 90 days (auto-renewed by Traefik) | ||
| - | * **Challenge: | ||
| - | |||
| - | ===== Configuration Files ===== | ||
| - | |||
| - | ^ File ^ Purpose ^ | ||
| - | | / | ||
| - | | / | ||
| - | | / | ||
| - | | / | ||
| - | |||
| - | ===== Cloudflare Setup ===== | ||
| - | |||
| - | * **Zone:** miskam.xyz | ||
| - | * **DNS Record:** *.home A 10.100.161.102 (not proxied) | ||
| - | * **API Token:** Stored in Vaultwarden (Zone:DNS Edit permission) | ||
| - | |||
| - | ===== Adding New Services ===== | ||
| - | |||
| - | 1. Add route to / | ||
| - | |||
| - | <code yaml> | ||
| - | newservice: | ||
| - | rule: " | ||
| - | service: newservice | ||
| - | entryPoints: | ||
| - | - websecure | ||
| - | tls: | ||
| - | certResolver: | ||
| - | domains: | ||
| - | - main: " | ||
| - | </ | ||
| - | |||
| - | 2. Add service backend: | ||
| - | |||
| - | <code yaml> | ||
| - | newservice: | ||
| - | loadBalancer: | ||
| - | servers: | ||
| - | - url: " | ||
| - | </ | ||
| - | |||
| - | 3. Traefik picks up changes automatically (file provider) | ||
| - | |||
| - | ===== Troubleshooting ===== | ||
| - | |||
| - | <code bash> | ||
| - | # Check certificate status | ||
| - | cat / | ||
| - | |||
| - | # Check Traefik logs | ||
| - | journalctl -u traefik -f | ||
| - | |||
| - | # Test certificate | ||
| - | echo | openssl s_client -connect 10.100.161.102: | ||
| - | </ | ||
infrastructure/tls-certificates.1770408533.txt.gz · Last modified: by admin
