web-dev-qa-db-fra.com

Forcer nginx à envoyer un type de contenu spécifique

Comment écraser Content-Type par défaut dans nginx? Actuellement, quand je demande le fichier 01.dae, il y a 

Content-Type: application/octet-stream;

Et je veux que ce soit 

Content-Type: application/xml;

J'ai essayé quelque chose comme 

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

et

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

mais rien ne fonctionne.

50
Kasheftin

Vous pouvez éditer /etc/nginx/mime.types et l'ajouter

types {
    application/xml        dae;
}

Je n'ai pas trouvé la chaîne exacte application/xml dans mon mime.types. Je suppose donc que vous pouvez directement l'inclure dans votre bloc serveur, dans la portée du serveur ou dans un autre domaine.

32
Mohammad AbuShady

Dans le cas où vous n'avez pas d'extension de fichier:

location ~ something {
   default_type application/xml;
}

Dans le cas où vous êtes installé, chiffrons le certificat avec le client qui crée un serveur http: Comment utiliser golang lego chiffrons le client derrière nginx?

52
Oleg Neumyvakin

Ajouter "le dae application/xml;" à la portée de votre serveur ou à la portée de votre emplacement ..__ Ou ajoutez-le dans mime.type.

Les deux travaillent pour moi.

0
guo simon