From cc33040b4bce820f55949f6a7e574c4fb524f155 Mon Sep 17 00:00:00 2001 From: Thomas Peterson Date: Mon, 8 Jun 2026 10:00:18 +0200 Subject: [PATCH] Deploy: HTTP/3 (QUIC) in Caddy deaktiviert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Manche Security-Suites (AVG Webschutz) zerlegen QUIC → ERR_QUIC_PROTOCOL_ERROR bei betroffenen Kunden. Caddy global auf `servers { protocols h1 h2 }` (nur HTTP/1.1 + HTTP/2 über TCP), kein alt-svc h3 mehr. Caddy-Server bekommt ignore_changes=[user_data] (Caddyfile-Änderung per reload, kein Recreate). Live-Caddy bereits nachgezogen (Caddyfile in-place + caddy reload). Co-Authored-By: Claude Opus 4.8 --- deploy/terraform/cloud-init-caddy.yaml.tftpl | 5 +++++ deploy/terraform/main.tf | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/deploy/terraform/cloud-init-caddy.yaml.tftpl b/deploy/terraform/cloud-init-caddy.yaml.tftpl index f8f8394..a7e65dc 100644 --- a/deploy/terraform/cloud-init-caddy.yaml.tftpl +++ b/deploy/terraform/cloud-init-caddy.yaml.tftpl @@ -6,6 +6,11 @@ write_files: content: | { email ${acme_email} + # HTTP/3 (QUIC) deaktiviert: manche Security-Suites (z. B. AVG Webschutz) + # zerlegen QUIC → ERR_QUIC_PROTOCOL_ERROR. Nur HTTP/1.1 + HTTP/2 über TCP. + servers { + protocols h1 h2 + } on_demand_tls { # Caddy fragt die App, ob es für die Domain ein Zertifikat ausstellen darf ask http://${ask_upstream}/internal/tls-allowed diff --git a/deploy/terraform/main.tf b/deploy/terraform/main.tf index beb9059..65eb9af 100644 --- a/deploy/terraform/main.tf +++ b/deploy/terraform/main.tf @@ -176,5 +176,11 @@ resource "hcloud_server" "caddy" { ip = local.caddy_private_ip } + # Caddyfile-Änderungen werden auf dem laufenden Node aktualisiert (caddy reload), + # nicht durch Server-Neuerstellung (sonst neue IP → DNS). + lifecycle { + ignore_changes = [user_data] + } + depends_on = [hcloud_network_subnet.subnet, hcloud_server.app] }