2012-02-29 11 views
5

मैं आईओएस 5 के साथ जेलबैक के बिना उपयोग के लिए एक .pac फ़ाइल लिख रहा हूं, लेकिन मुझे "https" (उदाहरण: https://test.com) से शुरू होने वाले यूआरएल से मेल खाने में परेशानी होती है।पीएसी फ़ाइल में HTTPS

यहाँ मेरी स्क्रिप्ट है:

function FindProxyForURL(url, host) { 
    if (shExpMatch(url, "https://*")) return "PROXY 123.123.123.123"; 
    return 'DIRECT'; 
} 

और अगर मैं मिलान किया "https://test.com", मैं कैसे "https://123.123.123.123" यूआरएल पर लौट सकते हैं?

उत्तर

1

आप एंड-टू-एंड सुरक्षा को तोड़ने के बिना HTTPS प्रोटोकॉल को प्रॉक्सी नहीं कर सकते हैं, जो इसकी एकल विशिष्ट विशेषता है। आपके मिलान "काम नहीं करते" कारण यह है कि आपकी पीएसी फ़ाइल को HTTPS के लिए अनदेखा किया जाता है।

एचटीटीपीएस पर ब्राउज़र और ऑन-डिवाइस प्रॉक्सी के बीच यातायात को रूट करना भी काफी व्यर्थ है, भले ही यह तकनीकी रूप से संभव हो। मुझे लगता है कि सुरक्षा कारणों से इसे असंभव बना दिया गया है (ताकि उपयोगकर्ताओं को यह सोचने के लिए बेवकूफ नहीं बनाया जा सके कि ट्रैफिक सुरक्षित नहीं है) लेकिन मैंने जांच नहीं की है।

+3

यह सच नहीं है, पीएसी फ़ाइल को HTTPS के लिए अनदेखा नहीं किया जाता है - HTTPS * को CONNECT विधि का उपयोग करके सुरक्षित रूप से प्रॉक्सी किया जा सकता है, जो अनिवार्य रूप से क्लाइंट कंप्यूटर से प्रॉक्सी को दूरस्थ कंप्यूटर पर एक टीसीपी धारा को रिले करता है। कनेक्शन अभी भी एन्क्रिप्ट किया गया है और प्रॉक्सी सादा पाठ में किसी भी ट्रैफ़िक को नहीं देख सकता है। – Johnny

+0

दाएं। पीएसी फ़ाइल को अनदेखा नहीं किया जाता है और HTTPS लक्ष्य के लिए, कनेक्ट विधि का उपयोग किया जाता है। और ऐसे मामले में, प्रॉक्सी सर्वर और क्लाइंट के बीच होने वाले संचार से अनजान है। मेरी टिप्पणी जोड़ना क्योंकि स्वीकृत उत्तर गलत जानकारी फैलता है। –

+0

अपडेट के लिए धन्यवाद। दुर्भाग्यवश, मैं इस उत्तर को हटा नहीं सकता क्योंकि यह स्वीकार किया जाता है। – tripleee

0

इस का उपयोग करें:

if (shExpMatch(url, "https:**"))

यह इसे ठीक करना चाहिए।