In meinem Nginx 0.8.34-Setup verwende ich die X-Accel-Redirect-Funktion, um das Herunterladen von Dateien im Anwendungscode zu steuern, ohne dass die Anwendung den Download selbst übernimmt.
Nach viel Mühe funktioniert dies jetzt im Grunde, außer dass nginx die Datei immer mit dem text/htmlInhaltstyp zurückgibt .
Der Standardinhaltstyp ist application / octet-stream, der im httpBlock angegeben ist.
Der Serverblock enthält unter anderem die Definition des Verzeichnisses, in dem die Dateien gespeichert sind:
location /files {
default_type application/octet-stream;
alias /srv/www/uploads;
internal;
}
Also habe ich den Inhaltstyp auch hier angegeben, aber nichts hat sich geändert.
Ich möchte den Inhaltstyp nicht von der Anwendung festlegen, da ich mich dann verlangsamen würde (ich müsste ihn zuerst bestimmen). Idealerweise würde nginx den richtigen Mimetyp basierend auf der Dateierweiterung zurückgeben (ich füge mime.types in den httpBlock ein).