Files
mareike/docker/endeavour/nginx.conf
T
th.guentherandClaude Opus 5.5 c4ca101594 endeavour: .env-Rechte, Socket-Prüfung und HTTPS-Proxy korrigiert
- deploy.sh setzt die .env auf root:mareike-docker 0640 und prüft DB_SOCKET/Socket vor dem Build
- optionale shared/deploy.conf für server-spezifische Einstellungen (z. B. MAREIKE_DB_SOCKET_DIR)
- nginx: absolute_redirect off, damit keine http://-Redirects entstehen
- Anleitung: Proxy per mod_rewrite nur unter HTTPS, keine KeyHelp-Weiterleitung, lv auf der Hauptdomain

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 14:30:42 +02:00

59 lines
1.7 KiB
Nginx Configuration File

# nginx im Container "web" auf endeavour.
# TLS terminiert der KeyHelp-Webserver auf dem Host und reicht per Proxy an 127.0.0.1:8080 weiter.
# Echte Client-IP aus X-Forwarded-For übernehmen, aber nur von Docker-internen Adressen
# (der Proxy auf dem Host erreicht den Container über das Bridge-Gateway).
set_real_ip_from 10.0.0.0/8;
set_real_ip_from 172.16.0.0/12;
set_real_ip_from 192.168.0.0/16;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
server {
listen 80 default_server;
server_name _;
root /var/www/html/public;
index index.php;
server_tokens off;
# nginx sieht hinter dem Proxy nur http. Eigene Redirects (z. B. /tinymce → /tinymce/) daher relativ halten,
# sonst landet der Browser auf http://.
absolute_redirect off;
client_max_body_size 70m;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Vite-Assets sind versioniert (Hash im Dateinamen) und dürfen lange gecacht werden.
location /build/assets/ {
expires 1y;
add_header Cache-Control "public, immutable";
access_log off;
try_files $uri =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# Nach außen läuft alles über HTTPS (KeyHelp). So erzeugt Laravel https-URLs,
# ohne dass im App-Code trustProxies gesetzt werden muss.
fastcgi_param HTTPS on;
fastcgi_param REQUEST_SCHEME https;
fastcgi_param SERVER_PORT 443;
fastcgi_read_timeout 300;
}
location ~ /\.(?!well-known) {
deny all;
}
}