2013-10-28 3 views
37

Wie überschreibt man den Standard Content-Type in nginx? Zur Zeit, als ich 01.dae Datei anfordern, gibt esNginx erzwingen, um spezifischen Content-Type zu senden

Content-Type: application/octet-stream; 

Und ich will es

Content-Type: application/xml; 

sein habe ich versucht, so etwas wie

location ~* \.dae$ { 
    types { }; 
    default_type application/xml; 
} 

und

location ~* \.dae$ { 
    add_header Content-Type application/xml; 
} 

aber nichts funktioniert.

+6

Die Anweisung _default_type_ sollte funktionieren, aber Sie müssen den Cache des Browsers löschen oder den Inhalt zwangsweise neu laden (oder "Cache deaktivieren" auf der Chrome-Registerkarte "Entwicklertools/Netzwerk"). Andernfalls wird der Server zurückgeben _304 Not Modified_ – stan

Antwort

23

Sie /etc/nginx/mime.types bearbeiten und fügen Sie es

types { 
    application/xml  dae; 
} 

Ich habe nicht die exakt die gleiche Zeichenkette application/xml in meinem mime.types so nehme ich an Sie direkt darauf schließen können in Ihrem Server-Block, in dem Serverbereich oder etwas gefunden .

31

Im Fall, wenn Sie keine Dateierweiterung haben:

location ~ something { 
    default_type application/xml; 
} 

Falls Sie Setup Lassen Sie uns verschlüsseln Zertifikat mit Client sind die http-Server erstellt: How to use golang lego let's encrypt client behind nginx?

+1

Wenn jemand sich wundern wird, weist das '~' nginx an, eine Groß- und Kleinschreibung zu beachten, und 'something' ist der Ort (oder die Datei, falls Sie es vorziehen). – devius

0

Add "um die Anwendung/xml dae;" zu Ihrem Serverbereich oder Standortbereich. Oder fügen Sie es in den mime.type.

Beide von ihnen arbeiten für mich.

Verwandte Themen