2014-04-07 14 views
6

के माध्यम से socket.io को कैसे कनेक्ट करें I apache रिवर्स प्रॉक्सी के पीछे से socket.io सर्वर से कनेक्ट करने का प्रयास कर रहा हूं। मैं बंदरगाह 8888. NodeJS सर्वर प्रॉक्सी के परीक्षण के लिए बंदरगाह 9096. पर एक ही मशीन पर चल रहा है पर चल रहे अपाचे है इस तरह अपने स्थानीय मशीन पर कॉन्फ़िगर किया गया है:एक रिवर्स प्रॉक्सी

ProxyPass /some/path http://localhost:9096 
ProxyPassReverse /some/path http://localhost:9096 

ग्राहक कोड में मैं कुछ इस तरह करते हैं :

var socketUrl = 'http://localhost:8888/some/path/namespace'; 
var socket = io.connect(socketUrl); 

यह निम्नलिखित व्यवहार में परिणाम देता है। मैं सॉकेट के लिए "संसाधन" विन्यास पाया है

localhost:8888/socket.io/1?123983759 
-> 404 not found 

:

http://localhost:8888/some/path/socket.io/socket.io.js 
-> 200 ok 

फिर सॉकेट में कनेक्ट करने के लिए कोशिश करता है:

पहले मेरे मुवक्किल पर socket.io.js स्क्रिप्ट अनुरोध करता है। io, लेकिन ऐसा लगता है कि socket.io.js स्क्रिप्ट को कहाँ से लाया गया है, लेकिन यूआरएल से कनेक्ट करने का प्रयास नहीं कर रहा है। यह हमेशा क्लाइंट मूल की जड़ से कनेक्ट लगता है।

मैं कैसे यह स्थानीय होस्ट से कनेक्ट कर सकता है: 8888/कुछ/पथ/socket.io/1 123983759

?

उत्तर

8

अपने ग्राहक कोड में आप तो जैसे संसाधन विकल्प के साथ आधार पथ सेट करने के लिए, है:

var socket = io.connect('http://localhost:8888', {resource: '/some/path/socket.io'}); 
+0

ठीक अब यह क्या सही यूआरएल हो रहा है से कनेक्ट करने की कोशिश करता है। हैंडशेक बनाया गया है, लेकिन अनुरोध (socket.io/1?t=123983759) स्थिति अब "रद्द" है। यदि मैं ब्राउज़र में एक ही यूआरएल का उपयोग करता हूं तो यह बिना किसी समस्या के "xrf021YGWWEF5NUHoyTD: 60: 60: websocket" जैसा कुछ देता है। मुझे नहीं पता कि क्या हो रहा है। –

+0

"हैंडशेक बनाया गया है" मेरा मतलब है नोडज प्रिंट करता है "जानकारी - हैंडशेक अधिकृत 05T-Uzt9CmK4SrN8sPQJ" –

+0

मुझे यह काम करने के लिए मिला, लेकिन याद नहीं किया जा सकता कि मैं रद्द किए गए मुद्दे में क्यों भाग गया। मुझे लगता है कि इसे रिवर्स प्रॉक्सी के लिए मेरी सेटिंग्स के साथ करना था, न कि socket.io सेटिंग्स। Socket.io संस्करण 1.0 के लिए संसाधन विकल्प को 'पथ' द्वारा प्रतिस्थापित किया गया है। यह उपयोगी होने के लिए मिला http://blog.seafuj.com/migrating-to-socketio-1-0 –

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