2013-05-22 23 views
6

Chciałbym nginx wysłać aplikację Content-Type/xml dla wszystkich odpowiedzi lokalizacji:Nginx domyślny typ zawartości

Moja konfiguracja to podstawa w dokumentacji http://wiki.nginx.org/HttpCoreModule#types:

server { 

     server_name my_name 
     listen 8088; 
     keepalive_timeout 5; 

     location/{ 
     proxy_pass http://myhost; 

     types   { } 
     default_type application/xml 
    } 
    } 

ale serwer zawsze wysyła jako typ zawartości "text/xml". Każdy pomysł?

+0

Jeśli URL kończy się ".xml" spróbuj wymusić 'aplikacji/xml' dla typu xml wewnątrz typów' {typów aplikacji XML/xml; } ' –

+0

Głupie pytanie, ale czy brakuje średnika w konfiguracji po linii' default_type'? – Slartibartfast

Odpowiedz

2

Domyślnym typem rozszerzenia xml jest tekst/xml. To zachowanie jest opisane w pliku mime.types. Użyj http://nginx.org/en/docs/http/ngx_http_core_module.html#default_type lub http://nginx.org/en/docs/http/ngx_http_core_module.html#types, aby to zmienić (ustawić na application/xml).

rozwiązanie dla apache httpd:

# DefaultType: the default MIME type the server will use for a document 
# if it cannot otherwise determine one, such as from filename extensions. 
# If your server contains mostly text or HTML documents, "text/plain" is 
# a good value. If most of your content is binary, such as applications 
# or images, you may want to use "application/octet-stream" instead to 
# keep browsers from trying to display binary files as though they are 
# text. 

DefaultType None 

http://httpd.apache.org/docs/current/mod/core.html#defaulttype

+0

Próbowałem tego jak wyjaśnić w moim pytaniu, ale to nie wydaje się działać – wonzbak

+0

Myślę, że problem w konfiguracji serwera backend. Dla Apache (httpd.conf) wyłącz DefaultType: DefaultType Brak –

Powiązane problemy