2013-10-28 31 views
37

Jak zastąpić domyślny Content-Type w nginx? Obecnie, kiedy poprosić 01.dae plik, tamWymusza na Nginx wysłanie określonego Content-Type

Content-Type: application/octet-stream; 

I chcę go mieć

Content-Type: application/xml; 

Próbowałem coś podobnego

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

i

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

ale nic nie działa.

+6

Dyrektywa _default_type_ powinna działać, ale musisz wyczyścić pamięć podręczną przeglądarki lub ponownie załadować zawartość (lub "Wyłącz pamięć podręczną" na karcie Narzędzia programisty/Sieć Chrome). W przeciwnym razie serwer zwróci _304 Not Modified_ – stan

Odpowiedz

23

można edytować /etc/nginx/mime.types i dodać go

types { 
    application/xml  dae; 
} 

ja nie znalazłem dokładnej ciąg application/xml w moim mime.types więc przypuszczam można bezpośrednio umieścić go wewnątrz bloku serwera w zakresie serwera lub czegoś .

31

W przypadku, gdy nie masz rozszerzenie pliku: Certyfikat szyfrowania

location ~ something { 
    default_type application/xml; 
} 

W przypadku, gdy są ustawione Chodźmy z klientem, który tworzy serwer http: How to use golang lego let's encrypt client behind nginx?

+1

Jeśli ktokolwiek się zastanawia, '~' instruuje nginx, aby wykonał dopasowanie regex wrażliwe na wielkość liter, a 'coś' jest zgodną lokalizacją (lub, jeśli wolisz). – devius

0

dodawanie „DAE application/xml”; do zakresu serwera lub zasięgu lokalizacji. Lub dodaj go do mime.type.

Oboje pracują dla mnie.