特定のContent-Typeを送信するようにnginxを強制する。

nginxでデフォルトのContent-Typeを上書きするには?現在、01.daeファイルをリクエストすると、以下のようになります。

Content-Type: application/octet-stream;

で、それを

Content-Type: application/xml;

のようなものを試してみました。

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

そして

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

などと入力しても、うまくいきません。

質問へのコメント (1)

ファイル拡張子がない場合。

location ~ something {
   default_type application/xml;
}

Nginx docs for default_type を参照してください。

httpサーバを作成するクライアントでlet's encrypt証明書を設定する場合: https://stackoverflow.com/questions/40502926/how-to-use-golang-lego-lets-encrypt-client-behind-nginx

解説 (3)
ソリューション

etc/nginx/mime.types` を編集して追加することができます。

types {
    application/xml        dae;
}

私は mime.types の中に application/xml という文字列を見つけられなかったので、サーバブロックの中のサーバスコープか何かに直接書き込むことができると思います。

解説 (0)

サーバースコープまたはロケーションスコープに "the application/xml dae;" を追加してください。 または、mime.typeに追加してください。

どちらも私の場合はうまくいきました。

解説 (0)