كيفية تخصيص نوع وسائط MIME الصادر لمرفقات معينة؟

لدي بعض المستخدمين الذين يرغبون في إرفاق بعض الملفات ذات امتدادات ملفات غير شائعة بمنشوراتهم. الملفات هي في الأساس ملفات نصية، لذا أود أن يقوم خادم الويب NGINX الخاص بـ Discourse بإصدار نوع الوسائط MIME “text/plain” عندما يقوم المستخدمون بتنزيل هذه الملفات من Discourse.

كما هو متوقع، لا يتعرف NGINX على امتدادات الملفات غير الشائعة هذه. ونتيجة لذلك، فإنه يصدر حاليًا “application/octet-stream” لهذه الملفات.

لقد قمت بتحديث تكوين NGINX بنجاح لإرشاده إلى استخدام “text/plain” لهذه الامتدادات، ولكنه لا يزال يصر على استخدام “application/octet-stream” عندما يقوم المستخدمون بتنزيل الملفات من المنشورات.

إليك ما فعلته (امتدادات الملفات في هذا المثال هي “.foo” و “.bar”):

  1. sudo vi /var/discourse/containers/app.yml
    في قسم “run”، قبل عبارة echo “End of custom commands” مباشرة، أضفت:
  - replace:
      filename: /etc/nginx/mime.types
      from: "txt;"
      to: "txt foo bar;"
  1. cd /var/discourse
  2. sudo ./launcher rebuild app

لقد قمت بالدخول إلى الحاوية وتحققت من تحديث ملف NGINX بشكل صحيح من

text/plain    txt;

إلى

text/plain    txt foo bar;

ماذا أفعل بشكل خاطئ؟

لقد حاولت أيضًا استخدام آلية “replace” لتحديث قسم “types” داخل /etc/nginx/conf.d/discourse.conf ولكن ذلك لم ينجح أيضًا.

شكرا مقدما!

مرحباً بالجميع… هل لدى أي شخص أي أفكار حول سبب عدم عمل هذا؟

شكرا!