first commit
This commit is contained in:
54
docker/nginx/default.conf
Normal file
54
docker/nginx/default.conf
Normal file
@@ -0,0 +1,54 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
root /var/www/app/public;
|
||||
index index.php;
|
||||
|
||||
# ── En-têtes de sécurité HTTP ────────────────────────────────────────────
|
||||
# Empêche le chargement de la page dans une iframe (clickjacking)
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
# Désactive le sniffing MIME : le navigateur respecte le Content-Type déclaré
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
# Limite les informations transmises dans le Referer aux pages externes
|
||||
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
||||
# Désactive les fonctionnalités navigateur non utilisées
|
||||
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
|
||||
|
||||
# Fichiers statiques servis directement par Nginx, sans passer par PHP.
|
||||
# expires 1y active le cache navigateur longue durée.
|
||||
location ~* \.(css|js|ico|png|jpg|jpeg|gif|svg|webp|woff2)$ {
|
||||
try_files $uri =404;
|
||||
expires 1y;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
# Bloquer l'exécution de PHP dans le répertoire des uploads.
|
||||
location ~* /media/.*\.php$ {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# Front controller Slim : toute URL sans fichier correspondant
|
||||
# est renvoyée vers index.php pour être traitée par le routeur.
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$is_args$args;
|
||||
}
|
||||
|
||||
# PHP-FPM via réseau Docker interne (port 9000 par défaut).
|
||||
location ~ \.php$ {
|
||||
fastcgi_pass app:9000;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
include fastcgi_params;
|
||||
|
||||
# Transmet les en-têtes du reverse proxy amont (Caddy hôte, etc.)
|
||||
# pour que l'application connaisse l'IP réelle du client et le protocole.
|
||||
fastcgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for;
|
||||
fastcgi_param HTTP_X_FORWARDED_PROTO $http_x_forwarded_proto;
|
||||
}
|
||||
|
||||
# Bloquer l'accès aux fichiers sensibles.
|
||||
location ~ /\.(env|git|htaccess) {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user