मेरा Chrome गैर-मौजूद HTTPS प्रोटोकॉल में "कूदता है"


4

मेरा Chrome (40.0.2214.115m) गैर-मौजूद https पर कूदता है:

में टाइप करता हूँ

http://johnwhitech.homeip.net:8080/

और क्रोम के लिए पुनर्निर्देशित

http: //johnwhitech.homeip.net: 8080 /

जिसका कोई अस्तित्व नहीं है। मेरे पास हर जगह HTTPS नहीं है।

नेटवर्क विश्लेषक में, मैं देखता हूं कि मेरे सर्वर ने 307 रीडायरेक्ट का उत्तर दिया है जो सही नहीं है (एपाचे सही तरीके से कॉन्फ़िगर किया गया है और यह जवाब नहीं देता है, अन्य ब्राउज़र रीडायरेक्ट नहीं करते हैं, HTTP पैकेट लूप बिल्कुल सामान्य है)।

मैंने फिडलर के साथ अनुरोध को लॉग इन करने की कोशिश की, यह है:

कनेक्ट johnwhitech.homeip.net:8080 HTTP / 1.1

होस्ट: johnwhitech.homeip.net:8080

कनेक्शन: जीवित रखें

उपयोगकर्ता-एजेंट: मोज़िला / 5.0 (विंडोज NT 6.3; WOW64) AppleWebKit / 537.36 (KHTML, गेको की तरह)

क्रोम / 40.0.2214.115 सफारी / 537.36

SSLv3- संगत क्लायंटहेलो हैंडशेक मिला। फिडलर ने नीचे के मापदंडों को निकाला।

...

अन्य अजीब बात: फ़िडलर के HOST कॉलम में, अगर मैं फ़ायरफ़ॉक्स के साथ कोशिश करता हूं, तो मुझे अपना सर्वर नाम दिखाई देता है। क्रोम के साथ, मैं केवल "टनल टू ..." यहां तक ​​कि बहुत पहले अनुरोध के लिए देखता हूं। प्रोटोकॉल वास्तव में HTTP है (पैकेट की शुरुआत में देखें), लेकिन चूल्हा पर मेरे क्रोम एक SSL "ClientHello" को इसके साथ क्यों भेजता है?

क्या यह एक सामान्य व्यवहार है?

केवल एक चीज जो मैं देख रहा हूं कि एसएसएल से संबंधित हो सकता है कि मैंने एक स्व-हस्ताक्षरित प्रमाणपत्र स्थापित किया है, पहले क्रोम सेटिंग्स के माध्यम से, फिर सिस्टम-वाइड। यह प्रमाणपत्र अच्छी तरह से काम करता है, लेकिन हो सकता है कि डोमेन नाम सूची में एक प्रमाण पत्र से मेल खाता है, इसलिए क्रोम एसएसएल की कोशिश करता है?

धन्यवाद दोस्तों!


EDIT3: यह व्यवहार भी इंटरनेट कनेक्टिविटी (कैश क्लियर) के बिना होता है, इसलिए निश्चित रूप से सर्वर-साइड पर नहीं होता है


EDIT4: मैं क्रोम देव टूल्स के "नेटवर्क" टैब में क्या देख रहा हूं। पहली प्रविष्टि सामान्य है, दूसरी प्रविष्टि HTTP के माध्यम से है जो HTTPS में लगभग पुनर्निर्देशित हो जाती है। यह बिना नेटवर्क कनेक्शन के होता है, विशेष रूप से सर्वर HSTS नहीं भेज रहा है।

http://i.stack.imgur.com/xfoxA.png


आप सर्वर पर किस सॉफ्टवेयर का उपयोग करते हैं?
माइक मीनेव

Chrome करता है CONNECTक्योंकि HTTPS कैसे काम करता है (गैर-पारदर्शी) परदे के पीछे। संयोग से, फिडलर एक छद्म है। आपको इसके बजाय इस बात पर ध्यान केंद्रित करना चाहिए कि अपाचे पुनर्निर्देशित करता है या नहीं। Wireshark का उपयोग करें या tcpdumpअपने सर्वर मशीन पर ट्रैफ़िक का विश्लेषण करने के लिए।
डैनियल बी

कनेक्ट के बारे में जानकारी के लिए धन्यवाद। संपादित, विशेष रूप से: इंटरनेट कनेक्टिविटी के बिना भी होता है।
lbarman

जवाबों:


7

Chrome स्पष्ट रूप से कारण बताता है: HSTS। HSTS, एक बार प्राप्त, चिपक जाती है। यह अवधारणा का एक अनिवार्य हिस्सा है। इसका मतलब है कि यदि क्रोम को आपके सर्वर से HSTS हेडर मिला है, भले ही एक बार ही, यह समाप्त होने तक चिपका रहेगा।

Chrome के HSTS कैश की जांच करने के लिए, पर जाएं chrome://net-internals/#hsts। वहां से, आप कैश को क्वेरी कर सकते हैं। जब तक यह "नॉट फाउंड" रिपोर्ट नहीं करता है, तब तक क्रोम आपके पृष्ठ से एक एचएसटीएस हेडर है। इसे हटाने के लिए, उसी पृष्ठ पर दिए गए टूल का उपयोग करें।


महान ! यह यह था। नहीं पता था कि एचएसटीएस चिपके हुए थे, और मुझे लगा कि देव उपकरणों के "नो कैशिंग" विकल्प एक स्वच्छ स्थिति का प्रदर्शन कर रहा है। महान इनपुट। रिकॉर्ड के लिए, मैंने अपने अपाचे सर्वर को एचएसटीएस भेजने के लिए सेटअप नहीं किया था, इसलिए यह पर्याप्त लगता है कि एक बिंदु पर, क्रोम को याद रखने के लिए एचटीटीपीएस के माध्यम से एक पता उपलब्ध है और बाद में एचएसटीएस के माध्यम से "एसएसएल को मजबूर करें"।
lbarman
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.