Files
e-ticket/ansible/caddy.j2
Serreau Jovann d44e75e3fd Fix SonarQube issues, store sessions in Redis, use direct analytics URLs
- ApiSandboxController: reduce scan() returns from 4 to 3 via ternary
- ApiDocController: add MIME_JSON constant, extract buildInsomniaRequest()
  and buildInsomniaBody() to reduce cognitive complexity
- Store sessions in Redis to fix SSO disconnect with 2 PHP replicas
  (round-robin load balancing caused session loss on filesystem storage)
- Configure session cookie: 24h lifetime, secure auto, samesite lax
- Replace Caddy analytics proxies (/stats/*, /assets/perf.js, /sperf)
  with direct URLs to tools-security.esy-web.dev and cloudflareinsights.com
- Update JS tests for new direct analytics URLs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 09:21:19 +01:00

54 lines
1.3 KiB
Django/Jinja

ticket.e-cosplay.fr {
tls {
dns cloudflare {{ cloudflare_api_token }}
}
@static path /logo.png /favicon.ico /favicon.png /marker.png /screen.png /manifest.json /site.webmanifest /sw.js /unavailable.html /workbox/* /idb/* /build/* /uploads/* /pwa/*
handle @static {
root * /var/www/e-ticket/public
file_server
}
@maintenance file /var/www/e-ticket/public/.update
handle @maintenance {
root * /var/www/e-ticket/public
rewrite * /maintenance.html
file_server {
status 503
}
}
handle {
root * /var/www/e-ticket/public
php_fastcgi localhost:4578 localhost:4579 {
root /app/public
lb_policy round_robin
trusted_proxies private_ranges
dial_timeout 5s
read_timeout 30s
write_timeout 30s
}
file_server
try_files {path} /index.php?{query}
}
handle_errors {
@unavailable expression `{err.status_code} in [502, 503]`
handle @unavailable {
root * /var/www/e-ticket/public
rewrite * /unavailable.html
file_server
}
}
encode gzip
header {
-Server
}
log {
output file /var/log/caddy/ticket.e-cosplay.fr.log
}
}