अद्यतन करें: ऐसा लगता है कि जिस तरह से तने को लोड नहीं किया गया है, उससे छवियों के साथ मूल मुद्दा है EFF का HTTPS हर जगह प्लग इन / एक्सटेंशन कुछ Tumblr URL को संभाला। डेवलपर को सूचित किया गया और एक तय जगह पर दिखाई देता है । यह उत्तर मूल रूप से प्रारंभिक प्रश्न द्वारा उल्लिखित मुद्दे को उजागर करने के लिए किए गए जासूसी कार्य को तोड़ता है और भविष्य में इसी तरह का मुद्दा दिखाई देने पर आगे डीबगिंग / निदान के लिए उपयोगी साबित हो सकता है।
संपादित करें: छवि जोंक के बारे में बड़ी सामग्री अमान्य लगती है। तो शीर्ष पर एक नया विचार जोड़ देगा और छवि लेचिंग जानकारी को नीचे छोड़ देगा बस किसी के लिए यह उपयोगी है।
अमेज़न CloudFront CDN विचार
ठीक है, आपके द्वारा प्रदत्त URL का उपयोग करने के साथ-साथ अमेज़ॅन CloudFront CDN सेटअप के साथ मेरे वास्तविक दुनिया के कुछ अनुभव - मुझे लगता है कि मैंने कुछ खोजा है। ऐसा लगता है जैसे Tumblr का Amazon CloudFront CDN config किसी कारण से घुट रहा है। यहाँ मुझे लगता है कि ऐसा ही है।
आइए इस उदाहरण URL को लेते हैं:
http://36.media.tumblr.com/d685b02fdf2d3f167c22d9a97e27e87a/tumblr_nfpq5qPZ4v1tognpro1_1280.png
अब चलने दो curl -I
उस फ़ाइल पर हेडर जानकारी प्राप्त करने के लिए:
curl -I http://36.media.tumblr.com/d685b02fdf2d3f167c22d9a97e27e87a/tumblr_nfpq5qPZ4v1tognpro1_1280.png
इसके लिए आउटपुट कुछ इस तरह होगा:
HTTP/1.1 200 OK
Content-Type: image/png
Content-Length: 782141
Connection: keep-alive
Accept-Ranges: bytes
Cache-Control: max-age=1209600
Date: Thu, 05 Mar 2015 02:15:44 GMT
Server: nginx
X-Cache: Miss from cloudfront
Via: 1.1 7e54fc06cd70e4752fe050bbe5c130be.cloudfront.net (CloudFront)
X-Amz-Cf-Id: QyIUyzfaJJN3PU_xWkW0P-D2kjg_1cVenKzFAoY2PubgZQlBHWorZQ==
अब यहाँ ध्यान देने वाली बातें हैं Date
(CloudFront समापन बिंदु पर फ़ाइल की तिथि और समय) और X-Cache
(अमेज़न सामग्री वितरण की स्थिति) हेडर। अमेज़ॅन क्लाउडफ़ॉरेस्ट पर विशिष्ट व्यवहार पहली पहुंच है जो "मिस फ्रॉम क्लाउडफ्रंट" को व्यक्त करेगा और फिर यदि आप दूसरा काम करेंगे curl -I
इसके तुरंत बाद एक होना चाहिए Hit from cloudfront
।
लेकिन ऐसा नहीं है जो मैंने अभी देखा है। यहाँ एक का टूटना है Date
तथा X-Cache
मेरे द्वारा किए गए अभिगम का एक गुच्छा की स्थिति:
Date: Thu, 05 Mar 2015 02:19:37 GMT
= X-Cache: Miss from cloudfront
Date: Thu, 05 Mar 2015 02:19:39 GMT
= X-Cache: Miss from cloudfront
Date: Thu, 05 Mar 2015 02:19:44 GMT
= X-Cache: Miss from cloudfront
Date: Thu, 05 Mar 2015 02:19:50 GMT
= X-Cache: Miss from cloudfront
Date: Thu, 05 Mar 2015 02:19:50 GMT
= X-Cache: Hit from cloudfront
Date: Thu, 05 Mar 2015 02:19:50 GMT
= X-Cache: Hit from cloudfront
Date: Thu, 05 Mar 2015 02:19:50 GMT
= X-Cache: Hit from cloudfront
कारण वही सटीक डेटा वाले कई आइटम हैं जो हैं Hit from cloudfront
अंत के पास क्योंकि सीडीएन पर ऐसा ही होता है: यदि सीडीएन के समापन बिंदु में फ़ाइल है, तो Date
उस फ़ाइल की वास्तविक निर्माण / संशोधन तिथि से संबंधित है जो समापन बिंदु है।
आप अलग-अलग तिथियों / समयों के साथ पहले चार पहुंच को अलग-अलग करते हैं और वे सभी हैं Miss from cloudfront
, सही? इसका मतलब है कि सीडीएन एंडपॉइंट अभी वापस गूंज रहा है कि उस समय उस फ़ाइल को एक्सेस करने का प्रयास किया गया था और सभी प्रयास छूट गए थे।
तो मेरा आर्मचेयर का आकलन यह है कि तुम्बलर के सिस्टम अमेजन क्लाउडफ्रंट सीडीएन के साथ नहीं चल रहे हैं या अमेजन क्लाउडफ्रंट सीडीएन तुम्बल के साथ नहीं चल रहे हैं। लेकिन किसी तरह से, चीजें उनके सर्वर की तरफ हैं। और चूंकि यह एक CDN है, इसलिए किसी एक स्थान पर फ़ाइलों को एक्सेस करने वाले को कोई समस्या नज़र नहीं आती है जबकि किसी अन्य स्थान पर किसी अन्य व्यक्ति की छवि को देखने में समस्या होगी।
जो सभी कहना है, मुझे नहीं लगता कि यह आसानी से ग्राहक की ओर से साफ किया जा सकता है।
संपादित करें: इसलिए मूल पोस्टर ने कुछ नए URL जोड़े, और यह अभी भी एक सर्वर-साइड मुद्दे की ओर इशारा करता है, लेकिन मैं सिर्फ रिकॉर्ड के लिए विवरण पोस्ट करना चाहता था।
एजकास्ट & amp; सीडीएन आइडियाज को हाइलाइट करता है
इसलिए मूल पोस्टर में और अधिक विवरण जोड़े गए हैं, इसलिए यहां उस ब्लॉग पोस्ट के आधार पर अधिक विवरण हैं जो एक उदाहरण के रूप में उपयोग किया जा रहा है:
http://claystorks.tumblr.com/post/112741831192/soulmister-claystorks-windspeare-explain
और ये चित्र URL उस पोस्ट के URL के उदाहरण के रूप में दिए गए हैं:
https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/76493f424ebb3b62d6de43e53643180a/tumblr_nkps82DdCh1sjn35qo1_500.png
https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/76493f424ebb3b62d6de43e53643180a/tumblr_nkps82DdCh1sjn35qo1_1280.png
और वे दो छवि URL वास्तव में विफल होते हैं। लेकिन मेरी तरफ से - ब्रुकलिन, न्यू यॉर्क, यूएसए से ब्लॉग पोस्ट के मूल सूपर कोड को देखकर- मैं उन एजस्टॉस्ट को नहीं देख रहा हूं ( gs1.wac.edgecastcdn.net
) यूआरएल। बल्कि, ये वे URL हैं जिन्हें मैं देख रहा हूँ:
http://41.media.tumblr.com/76493f424ebb3b62d6de43e53643180a/tumblr_nkps82DdCh1sjn35qo1_500.png
http://41.media.tumblr.com/76493f424ebb3b62d6de43e53643180a/tumblr_nkps82DdCh1sjn35qo1_1280.png
तो मेरा पहला विचार है कि मूल पोस्टर उन एजकास्ट को क्यों देख रहा है ( gs1.wac.edgecastcdn.net
)। लेकिन तब अगर मैं एक अनुरेखक करने के लिए 41.media.tumblr.com
मुझे लगता है कि एक सर्वर Highwinds ((?!)?) द्वारा प्रबंधित किया जाता है। इसके विपरीत मूल उपयोगकर्ता द्वारा पारित प्रारंभिक यूआरएल का उपयोग कर रहे हैं 36.media.tumblr.com
hostname और आप देख सकते हैं कि वे Amazon CloudFront CDN सर्वर द्वारा प्रबंधित हैं।
यह सब कहना है - जो मैंने पहले कहा था - यह सब Tumblr और उनके CDN प्रबंधन के साथ एक सर्वर साइड मुद्दा लगता है। लेकिन मेरी तरफ से- ब्रुकलिन, न्यूयॉर्क, यूएसए में- मैं हाईविंड सीडीएन सर्वरों के साथ-साथ अमेज़ॅन क्लाउडफ्रंट सीडीएन सर्वरों से अपेक्षित सामग्री को स्पष्ट रूप से देख रहा हूं। ये EdgeCast URL कहाँ से आ रहे हैं या कैसे / क्यों विफल हो रहे हैं, यह ग्राहक के पक्ष में किसी के नियंत्रण से बाहर है। यह निश्चित रूप से Tumblr के तकनीकी कर्मचारियों से संपर्क करने के लिए कुछ होगा क्योंकि कोई ऐसा तरीका नहीं है जिससे डेस्कटॉप एंड-यूज़र इसे हल कर सके।
छवि लीचिंग विचार
अब प्रासंगिक नहीं हो सकता है, लेकिन यहां संदर्भ के लिए है।
आप यह बताते हुए मुझे एक सुराग दे:
का उपयोग करते हुए wget
छवियों के प्रत्यक्ष लिंक पर काम करता है।
कई साइटों में नियम होते हैं- आमतौर पर अपाचे के माध्यम से सेट किए जाते हैं - जो इमेज लीचिंग को रोकते हैं। उन नियमों के काम करने के तरीके के बारे में अधिक जानकारी यहां प्रदान किए गए हैं और इसे संक्षेप में प्रस्तुत किया गया है:
.Htaccess का उपयोग करके, आप अपने सर्वर पर हॉट लिंकिंग को हटा सकते हैं, इसलिए
उदाहरण के लिए, आपकी साइट पर एक छवि या CSS फ़ाइल से लिंक करने का प्रयास
या तो अवरुद्ध है (असफल अनुरोध, जैसे टूटी हुई छवि) या सेवा की
विभिन्न सामग्री (यानी: एक क्रोधी आदमी की छवि)।
आपके विवरण के आधार पर — और इस तथ्य के माध्यम से आप छवियों तक पहुँच सकते हैं wget
-मुझे विश्वास है कि आपके द्वारा जारी की जा रही छवियों को उपयोगकर्ताओं द्वारा Tumblr पर होस्ट नहीं किया गया है, बल्कि ऐसी छवियां हैं जिन्हें Tumblr ब्लॉग पर रखा गया है लेकिन वास्तव में किसी अन्य साइट पर होस्ट की गई हैं।
जब मानक छवि जोंक लगाने की प्रक्रिया होती है, तो किसी अन्य साइट पर होस्ट की गई एक साइट पर एक एम्बेडेड छवि को देखना - जो कि लीचिंग को अवरुद्ध करता है - परिणामस्वरूप टूटी हुई छवि लिंक या शायद "स्टॉप लीचिंग!" छवि वापस आ जाएगी। ऐसा इसलिए है क्योंकि बुनियादी विरोधी-लेचिंग नियम - जैसे कि उस उदाहरण पृष्ठ में - छवि को क्रॉस-चेक करने वाले यह सुनिश्चित करने के लिए कि छवि का अनुरोध करने वाला पृष्ठ छवि की मेजबानी करने वाले डोमेन से मेल खाता है।
इसलिए जब आप इमेज को एक्सेस कर रहे हैं wget
आप छवि को सीधे एक्सेस कर रहे हैं। इसलिए इमेज लीचिंग के नियम में कोई कमी नहीं आएगी। इस प्रकार आप इमेज को प्राप्त कर सकते हैं wget
लेकिन तब नहीं जब यह दूसरे पेज में इंबेडेड हो।