2026-06-08 09:37:37 +02:00
|
|
|
# Docker nginx — только HTTP (SSL терминируется на host nginx)
|
|
|
|
|
server {
|
|
|
|
|
listen 80;
|
|
|
|
|
server_name projects.breadcrumb-online.de;
|
|
|
|
|
|
|
|
|
|
client_max_body_size 10M;
|
|
|
|
|
|
|
|
|
|
root /var/www/web;
|
|
|
|
|
index index.php;
|
|
|
|
|
|
|
|
|
|
location / {
|
|
|
|
|
try_files $uri $uri/ /index.php?$query_string;
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-08 09:58:28 +02:00
|
|
|
# Docker DNS resolver — re-resolves php hostname on each request
|
|
|
|
|
resolver 127.0.0.11 valid=5s;
|
|
|
|
|
|
2026-06-08 09:37:37 +02:00
|
|
|
location ~ \.php$ {
|
|
|
|
|
include fastcgi_params;
|
|
|
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
|
|
|
# SSL терминирован на host nginx — передаём это в PHP
|
|
|
|
|
fastcgi_param HTTPS on;
|
|
|
|
|
fastcgi_param HTTP_X_FORWARDED_PROTO https;
|
2026-06-08 09:58:28 +02:00
|
|
|
set $php_upstream php:9000;
|
|
|
|
|
fastcgi_pass $php_upstream;
|
2026-06-08 09:37:37 +02:00
|
|
|
fastcgi_hide_header Cache-Control;
|
|
|
|
|
add_header Cache-Control "no-store, no-cache, must-revalidate, private" always;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~* \.mjs$ {
|
|
|
|
|
default_type application/javascript;
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
expires 30d;
|
|
|
|
|
access_log off;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~* \.(css|js|png|jpg|jpeg|gif|svg|ico|webp|woff2?)$ {
|
|
|
|
|
expires 30d;
|
|
|
|
|
access_log off;
|
|
|
|
|
}
|
|
|
|
|
}
|