2016-02-23 9 views
11

AWS now supports gzipping files through CloudFrontमूल रूप S3 के साथ CloudFront वेबसाइट <a href="http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html" rel="noreferrer">Serving Compressed Files</a> में फ़ाइलों

मैं निर्देशों के सभी के साथ पालन किया है gzipped है नहीं की सेवा, और अभी तक gzipping काम नहीं कर रहा।

मेरे पास एक ऐसी वेबसाइट के रूप में स्थापित एक एस 3 बाल्टी है जो क्लाउडफ्रंट मूल के रूप में उपयोग कर रहा है।

  • Compress Objects Automatically
  • मैं ऐसे application/javascript और text/css
  • फ़ाइलों के रूप में सही सामग्री प्रकार के साथ फ़ाइलें की सेवा कर रहा हूँ सक्षम किया गया है 1000 और 10,000,000 बाइट
  • S3 वेबसाइट एक Content-Length के रूप में कार्य करता है के साथ फ़ाइलें भीतर कर रहे हैं जहां तक ​​मुझे पता है
  • अतिरिक्त सुनिश्चित करने के लिए कुछ भी कैश नहीं किया गया था, मैंने दोनों ने पूरे एस 3 बाल्टी को अमान्य कर दिया और फ़ाइलों के नए संस्करणों को S3 पर अपलोड किया।
  • इसके अतिरिक्त, मैं जिस वेब ब्राउज़र का उपयोग कर रहा हूं, क्रोम, gzipped फ़ाइलों को स्वीकार करता है।

इस सब के बावजूद, मैं काम करने के लिए gzipping नहीं मिल सकता है। मैं एसएसएल सहित पूरी तरह से काम कर रहा हूं, और आप यहां साइट पर जा सकते हैं: https://formulagrid.com/

यदि आप क्रोम कंसोल खोलते हैं, तो आप देखेंगे कि एस 3 से कोई भी फाइल नहीं की जा रही है। Google फोंस जैसी एकमात्र gzipped फ़ाइलें वे हैं जिन्हें मैं अन्य सीडीएन से पकड़ रहा हूं।

+2

वास्तविक लिंक साझा करने के लिए धन्यवाद - जो किसी को भी स्पॉट करने के लिए जो भी हो रहा है उसे आसान बनाना चाहिए। आपकी ऑब्जेक्ट्स एस 3 * के बिना * सामग्री-एन्कोडिंग में संग्रहीत हैं: 'हेडर, है ना? इस तरह वे होना चाहिए। यदि आपके पास दुनिया के किसी अन्य हिस्से में किसी सिस्टम तक पहुंच है, तो आप 'curl -v' आज़मा सकते हैं और देख सकते हैं कि अलग-अलग किनारे के माध्यम से अनुरोध अलग-अलग व्यवहार करते हैं या नहीं। –

+0

@ माइकल-एसक्लबॉट हाँ, उनके पास केवल 'सामग्री-प्रकार' है। एक और बात मैंने देखी है कि ऐसा लगता है कि मेरी index.html वास्तव में gzipped है, लेकिन यह केवल असंगत होता है, जो मुझे और भी उलझन में डाल देता है। – m0meni

+0

@ माइकल-एसकब्लॉट ने इसे काम करना शुरू कर दिया ... अनुमान है कि यह एक दिन या कुछ लेता है ... – m0meni

उत्तर

8

मैंने आज भी यही त्रुटि मारा और एस 3 बाल्टी में एक सीओआरएस नियम जोड़कर हल किया। यह नियम सुनिश्चित करता है सामग्री-लंबाई हेडर CloudFront के लिए भेजा जाता है ताकि सामग्री gzipped किया जा सकता है: जहाँ तक http://ithoughthecamewithyou.com/post/enable-gzip-compression-for-amazon-s3-hosted-website-in-cloudfront

:

S3> बाल्टी> अनुमतियां> CORS विन्यास

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
    <CORSRule> 
     <AllowedOrigin>*</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
     <AllowedHeader>Authorization</AllowedHeader> 
     <AllowedHeader>Content-Length</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 

क्रेडिट रॉबर्ट एलिसन को जाता है मुझे पता है, यह एक अनियंत्रित आवश्यकता प्रतीत होता है।

+1

* नोट *: उपरोक्त स्रोत उदाहरण में सामग्री-लंबाई गलत वर्तनी है (और एसओ इसे 6 अक्षरों से कम होने के बाद से इसे ठीक करने नहीं देगा)। – jhulst

+0

अच्छा पकड़ो! धन्यवाद! – Rodrigo

संबंधित मुद्दे