Files
e-cosplay/docker/caddy/Caddyfile
Serreau Jovann 21220f4fc4 feat: Initialisation du projet mainframe
Ajout de la configuration docker, gitlab CI et autres fichiers.
Suppression des fichiers compose et importmap obsolètes.
2025-07-16 10:14:36 +02:00

42 lines
1.9 KiB
Caddyfile

# ./docker/caddy/Caddyfile
# Nous écoutons sur le port 80 (qui est mappé depuis le port 8000 de l'hôte)
:80 {
# La racine de votre application Symfony
root * /srv/app/public
# Activation de la compression (optionnel)
encode gzip zstd
# Gère les assets statiques directement (améliore les performances)
file_server
# Passe toutes les requêtes non résolues par file_server à Symfony (index.php)
php_fastcgi php:9000 { # 'php' est le nom de votre service PHP dans docker-compose
# Transmet les en-têtes X-Forwarded-* reçus de Nginx à PHP-FPM
# C'est CRUCIAL pour que Symfony détecte HTTPS
env HTTPS on # Simule que la connexion est HTTPS pour PHP
env HTTP_X_FORWARDED_PROTO {header.X-Forwarded-Proto} # Récupère le proto original de Nginx
env HTTP_X_FORWARDED_HOST {header.X-Forwarded-Host} # Récupère l'hôte original de Nginx
env HTTP_X_FORWARDED_PORT {header.X-Forwarded-Port} # Récupère le port original de Nginx
env HTTP_X_REAL_IP {header.X-Real-IP} # Récupère l'IP réelle du client (si Nginx la passe)
# Assurez-vous que l'adresse IP de Nginx est aussi trustée par Symfony
# via framework.trusted_proxies dans Symfony.
}
# Journalisation des accès (utile pour le débogage)
log {
output stdout
format json
}
# Configuration des en-têtes CORS pour les requêtes OPTIONS du profiler
# Note: Caddy a une directive 'header' mais c'est pour les réponses.
# Pour gérer spécifiquement les OPTIONS en tant que preflight, c'est plus direct
# de le faire via php_fastcgi si Symfony peut le gérer, ou avec une directive
# 'handle' ou 'route' spécifique si Caddy doit répondre directement.
# Pour l'instant, faisons confiance à Symfony pour gérer les CORS via NelmioCorsBundle
# une fois que le protocole est correct.
}