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/html
Inhaltstyp zurückgibt .
Der Standardinhaltstyp ist application / octet-stream, der im http
Block 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 http
Block ein).