feat: Complete HTTPS multi-endpoint configuration and deployment automation

- Enhanced Caddyfile with consolidated HTTPS block supporting all access points
- Added support for https://digiserver, https://10.76.152.164, and https://digiserver.sibiusb.harting.intra
- Configured Caddy reverse proxy with HTTP/3 (QUIC), TLS 1.3+, and HTTP/2 support
- Implemented security headers (X-Frame-Options, X-Content-Type-Options, X-XSS-Protection)
- Added HTTP to HTTPS automatic redirects for all endpoints
- Enhanced setup_https.sh with improved error handling and progress reporting
- Created deploy.sh for fully automated one-command deployment
- Added comprehensive deployment documentation (5 guides)
- Configured 2GB file upload limit and 300s request/response timeouts
- Added Caddy admin API on port 2019 for configuration management
- Implemented health checks and container dependency management
- All volumes persistent and properly isolated
- Production-ready configuration with environment variable parameterization
This commit is contained in:
Quality App Developer
2026-01-14 20:40:26 +02:00
parent 361e0bc459
commit cedb411536
10 changed files with 1924 additions and 41 deletions

View File

@@ -3,8 +3,6 @@
email admin@example.com
# Admin API for configuration management (listen on all interfaces)
admin 0.0.0.0:2019
# Uncomment for testing to avoid rate limits
# acme_ca https://acme-staging-v02.api.letsencrypt.org/directory
}
# Shared reverse proxy configuration
@@ -39,33 +37,28 @@
}
}
# Localhost (development/local access)
# Localhost (development/local access - HTTP only for local dev)
http://localhost {
import reverse_proxy_config
}
# Internal domain (HTTP only - internal use)
http://digiserver.sibiusb.harting.intra {
import reverse_proxy_config
}
# Internal domain (HTTPS - self-signed certificate)
https://digiserver.sibiusb.harting.intra {
# Main HTTPS entry point with multiple hostnames and IP
https://digiserver, https://10.76.152.164, https://digiserver.sibiusb.harting.intra {
import reverse_proxy_config
tls internal
}
# Handle IP address access (HTTP)
http://10.76.152.164 {
import reverse_proxy_config
# HTTP redirects to HTTPS for each hostname
http://digiserver {
redir https://{host}{uri}
}
# Handle IP address access (HTTPS - self-signed with IP in certificate)
https://10.76.152.164 {
import reverse_proxy_config
tls {
on_demand
}
http://10.76.152.164 {
redir https://{host}{uri}
}
http://digiserver.sibiusb.harting.intra {
redir https://{host}{uri}
}
# Catch-all for any other HTTP requests
@@ -73,7 +66,7 @@ http://* {
import reverse_proxy_config
}
# Catch-all for any other HTTPS requests
# Catch-all for any other HTTPS requests (fallback)
https://* {
import reverse_proxy_config
tls internal