2013-08-08 5 views
5

मेरे पास एक नोडजेएस-सॉकेटियो सर्वर है जिसमें क्लाइंट जेएस, पीएचपी & पायथन से सुन रहे हैं। जब सादा HTTP/डब्ल्यूएस चैनल पर संचार होता है तो यह एक आकर्षण की तरह काम करता है।नोडजेएस - वेबसाइकिल परिवहन के साथ एसएसएल पर सॉकेटियो

अब, जब मैं इस संचार को सुरक्षित करने का प्रयास करता हूं, तो वेबस्केट परिवहन अब और काम नहीं कर रहा है। यह एक्सहर-मतदान (लंबे मतदान) परिवहन पर वापस आ जाता है। Xhr-polling अभी भी जेएस क्लाइंट के लिए काम करता है लेकिन पाइथन पर नहीं जो पूरी तरह से सॉकेट परिवहन पर निर्भर करता है।

बातें मैं करने की कोशिश की:

  1. नोड पर, का उपयोग करते हुए https (वाणिज्यिक प्रमाणपत्र के साथ) http के बजाय - HAProxy के माध्यम से नोड के माध्यम से लेकिन socketIO के लिए नहीं
  2. प्रॉक्सी पृष्ठ दिखाने के लिए अच्छा काम करता है (1.15 -dev19)। HTTPS (HAPROxy) से HTTP (नोड) तक। वेबस्केट परिवहन काम नहीं कर सका और यह जेएस पर xhr-polling पर वापस आ गया। पाइथन हैंडशेक पर।
  3. प्रॉक्सी स्टुनेल (एचटीटीपीएस के लिए) -> हैप्रोक्सी (वेबसाइट्स प्रॉक्सी) -> नोड (सॉकेटियो) - यह या तो काम नहीं करता है। पाइथन क्लाइंट अभी भी हैंडशेक पर 502 पाता है।
  4. स्टुनेल (एचटीटीपीएस) के माध्यम से प्रॉक्सी -> नोड (सॉकेटियो) - यह भी काम नहीं करता है। नहीं यकीन है कि अगर stunnel समर्थन WebSocket प्रॉक्सी
  5. नोड http-प्रॉक्सी: WebSocket पर और XHR-मतदान
  6. करने के लिए वापस गिर जाता है 500 (:: { "ECONNRESET" "कोड"} एक त्रुटि हुई है) फेंकता

मुझे यकीन है कि यह एक आम उपयोग केस है और एक समाधान मौजूद है। वास्तव में किसी भी मदद की सराहना करेंगे।

अग्रिम धन्यवाद!

+0

हम socketioio के साथ node.js सर्वर को सॉकेटियो-क्लाइंट का उपयोग करते हुए एक पाइथन क्लाइंट से कनेक्ट करने की कोशिश कर रहे हैं, बिना किसी सफलता के। क्या आप कनेक्शन से कुछ कोड स्निपेट साझा कर सकते हैं? – user2503775

+0

यदि आप सॉकेटियो 1.x का उपयोग कर रहे हैं, तो पाइथन क्लाइंट काम नहीं करेगा। पाइथन क्लाइंट के साथ सॉकेटियो 0.9 का उपयोग करने का प्रयास करें और मुझे बताएं कि यह अभी भी काम नहीं करता है। पायथन क्लाइंट सॉकेटियो-क्लाइंट का लेखक 1.x संस्करण के साथ मिलान करने के लिए अद्यतन पर काम कर रहा है। –

+0

धन्यवाद। यह वास्तव में मेरी समस्या थी। – user2503775

उत्तर

1

मेरा मामला दुर्लभ प्रतीत होता है। मैंने इस पूरे पर्यावरण को अमेज़ॅन लिनक्स के आधार पर ईसी 2 इंस्टेंस पर बनाया है। चूंकि लगभग सभी यम पैकेज अद्यतित नहीं हैं, इसलिए मुझे स्रोत से प्रत्येक यम पैकेज को बहुत अधिक स्थापित करना पड़ा। ऐसा करके मैं विन्यास अपरिवर्तित/जोड़ा चूक सकता था। या HAProxy आवश्यक lib नवीनतम नहीं हो सकता था।

किसी भी मामले में, मैंने उबंटू 12.04 आधारित ईसी 2 उदाहरण पर फिर से वातावरण बनाने की कोशिश की। HAPROxy कुछ विन्यास tweaks के साथ एक आकर्षण की तरह काम किया। अब मैं जेएस, पायथन & एसएसएल पर किसी भी समस्या के बिना PHP से अपने सॉकेटियो सर्वर को कनेक्ट कर सकता हूं। मैं एक सुरक्षित टीसीपी अमेज़ॅन ईएलबी भी बना सकता हूं जो 443 पर सुनता है और इसे गैर मानक पोर्ट (8xxx) पर प्रॉक्सी करता है।

मुझे बताएं कि अगर किसी और को एक जैसी समस्या का सामना करना पड़ता है, तो मुझे मदद करने में खुशी होगी!

+0

क्या आप कृपया अपनी HAPROxy कॉन्फ़िगरेशन साझा कर सकते हैं? क्या आप एच प्रॉक्सी के शीर्ष पर nginx का उपयोग कर रहे हैं? यदि हां, तो nginx पर यातायात को सुरक्षित कैसे कर रहे हैं। –

+0

@RanaDeep इस तरह के देर से उत्तर के लिए खेद है।नहीं, मैं Nginx का उपयोग HAPROxy के साथ नहीं कर रहा हूँ। यदि आपको अभी भी कॉन्फ़िगरेशन [HAProxy कॉन्फ़िगरेशन] की आवश्यकता है (https://gist.github.com/karthikj/8193588) –

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