Fix: Webmail-Vhost serviert volle Laravel-App statt nur /webmail/*
Mit dedizierter Webmail-Subdomain ist kein /webmail/-Präfix nötig — Laravel's domain()-Routing in bootstrap/app.php übernimmt die Isolation. Nur / leitet auf /login um, alle anderen Pfade gehen direkt an Laravel. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main v1.1.151
parent
46fb3f12ff
commit
12a16dbd64
|
|
@ -403,7 +403,7 @@ build_webmail_http_only(){
|
|||
[[ "${DEV_MODE}" = "1" && "${def_flag}" = "default" ]] && def=" default_server"
|
||||
[[ -z "${host}" || "${host}" = "_" ]] && host="_"
|
||||
cat > "$outfile" <<CONF
|
||||
# --- ${host} : Webmail (nur /webmail/*) ---
|
||||
# --- ${host} : Webmail (domain-routing, volle Laravel-App) ---
|
||||
server {
|
||||
listen 80${def};
|
||||
listen [::]:80${def};
|
||||
|
|
@ -414,13 +414,11 @@ server {
|
|||
access_log /var/log/nginx/${host/_/__}_webmail_access.log;
|
||||
error_log /var/log/nginx/${host/_/__}_webmail_error.log;
|
||||
client_max_body_size 25m;
|
||||
location = / { return 301 /webmail/login; }
|
||||
location = /login { return 301 /webmail/login; }
|
||||
location ^~ /webmail/ { try_files \$uri \$uri/ /index.php?\$query_string; }
|
||||
location = / { return 301 http://\$host/login; }
|
||||
location / { try_files \$uri \$uri/ /index.php?\$query_string; }
|
||||
location ~ \.php\$ { include snippets/fastcgi-php.conf; ${FASTCGI_PASS} }
|
||||
location ^~ /livewire/ { try_files \$uri /index.php?\$query_string; }
|
||||
location ~* \.(css|js|ico|svg|woff2?|ttf|jpg|jpeg|png|gif)\$ { expires 30d; access_log off; }
|
||||
location / { return 403; }
|
||||
}
|
||||
CONF
|
||||
}
|
||||
|
|
@ -428,7 +426,7 @@ CONF
|
|||
build_webmail_tls(){
|
||||
local host="$1" cert_dir="$2" outfile="$3"
|
||||
cat > "$outfile" <<CONF
|
||||
# --- ${host} : Webmail TLS (nur /webmail/*) ---
|
||||
# --- ${host} : Webmail TLS (domain-routing, volle Laravel-App) ---
|
||||
server {
|
||||
listen 80; listen [::]:80; server_name ${host};
|
||||
location ^~ /.well-known/acme-challenge/ { root ${ACME_ROOT}; allow all; }
|
||||
|
|
@ -446,13 +444,11 @@ server {
|
|||
access_log /var/log/nginx/${host}_webmail_ssl_access.log;
|
||||
error_log /var/log/nginx/${host}_webmail_ssl_error.log;
|
||||
client_max_body_size 25m;
|
||||
location = / { return 301 https://\$host/webmail/login; }
|
||||
location = /login { return 301 https://\$host/webmail/login; }
|
||||
location ^~ /webmail/ { try_files \$uri \$uri/ /index.php?\$query_string; }
|
||||
location = / { return 301 https://\$host/login; }
|
||||
location / { try_files \$uri \$uri/ /index.php?\$query_string; }
|
||||
location ~ \.php\$ { include snippets/fastcgi-php.conf; ${FASTCGI_PASS} }
|
||||
location ^~ /livewire/ { try_files \$uri /index.php?\$query_string; }
|
||||
location ~* \.(css|js|ico|svg|woff2?|ttf|jpg|jpeg|png|gif)\$ { expires 30d; access_log off; }
|
||||
location / { return 403; }
|
||||
}
|
||||
CONF
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue