2013-10-28 17 views
37

Come sovrascrivere il tipo di contenuto predefinito in nginx? Attualmente, quando chiedo 01.dae di file, c'èForza nginx per inviare specifici Content-Type

Content-Type: application/octet-stream; 

E voglio che sia

Content-Type: application/xml; 

ho provato qualcosa di simile

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

e

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

ma niente funziona.

+6

La direttiva _default_type_ dovrebbe funzionare ma sarà necessario svuotare la cache del browser o forzare-ricaricare il contenuto (o "Disabilita cache" nella scheda Strumenti di sviluppo/rete di Chrome). Altrimenti il ​​server restituirà _304 Not Modified_ – stan

risposta

23

È possibile modificare /etc/nginx/mime.types e aggiungerlo

types { 
    application/xml  dae; 
} 

non ho trovato il la stringa esatta application/xml nel mio mime.types quindi suppongo che è possibile includere direttamente dentro il tuo blocco del server, in ambito server o qualcosa del genere .

31

Nel caso in cui non si ha file di estensione: certificato di cifrare

location ~ something { 
    default_type application/xml; 
} 

Nel caso in cui tu sei li ha lasciati di installazione con il client che crea server HTTP: How to use golang lego let's encrypt client behind nginx?

+1

Se qualcuno si sta chiedendo che '~' istruisca nginx ad eseguire una corrispondenza di espressioni regolari con distinzione tra maiuscole e minuscole, e 'something' è la posizione (o il file se si preferisce) che corrisponde. – devius

0

aggiungere "The dae application/xml;" all'ambito del server o all'ambito della posizione. Oppure aggiungilo a mime.type.

Entrambi lavorano per me.

Problemi correlati