2013-10-28 18 views
37

भेजने के लिए nginx में डिफ़ॉल्ट सामग्री-प्रकार को ओवरराइट कैसे करें? वर्तमान में जब मैं 01.dae फ़ाइल का अनुरोध, वहाँफोर्स nginx विशिष्ट सामग्री-प्रकार

Content-Type: application/octet-stream; 

और मैं यह

Content-Type: application/xml; 

मैं

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

और

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

की तरह कुछ करने की कोशिश की जा करने के लिए चाहते हैं, लेकिन कुछ भी काम नहीं करता है।

+6

_default_type_ निर्देश काम करना चाहिए, लेकिन आपको ब्राउज़र के कैश को साफ़ करने या सामग्री को बल-पुनः लोड करने की आवश्यकता होगी (या क्रोम के डेवलपर टूल/नेटवर्क टैब में "अक्षम कैश")। अन्यथा सर्वर _304 संशोधित नहीं होगा संशोधित_ – stan

उत्तर

23

आप /etc/nginx/mime.types संपादित करें और इसे जोड़ सकते हैं

types { 
    application/xml  dae; 
} 

मैं सटीक स्ट्रिंग application/xml मेरी mime.types में नहीं मिला है, तो मुझे लगता है कि आप सीधे शामिल कर सकते हैं अपने सर्वर ब्लॉक के अंदर सर्वर गुंजाइश या कुछ में, ।

31

मामले में आप कोई फाइल एक्सटेंशन है जब: ग्राहक के साथ

location ~ something { 
    default_type application/xml; 
} 

मामले में आप कर रहे हैं सेटअप आइए एन्क्रिप्ट प्रमाण पत्र जो http सर्वर बनाता है: How to use golang lego let's encrypt client behind nginx?

+1

यदि कोई केस केस संवेदनशील रेगेक्स मैच करने के लिए '~' निर्देश nginx को सोच रहा है, और 'कुछ' स्थान (या यदि आप चाहें तो फ़ाइल) मिलान किया जा रहा है। – devius

0

जोड़ें "application/xml डे," आपके सर्वर के दायरे या स्थान के दायरे में। या इसे mime.type में जोड़ें।

उनमें से दोनों मेरे लिए काम करते हैं।