2012-06-08 8 views
7

के साथ पोर्ट 80 पर वेबसाइकिल यातायात को पुनर्निर्देशित करना मेरे पास "www" सबडोमेन पर उपलब्ध lighttpd पर होस्ट की गई एक वेबसाइट है। मेरे पास node.js और socket.io के साथ बने पोर्ट 8124 पर एक चैट सर्वर भी सुन रहा है।lighttpd

मैं सभी ग्राहक यातायात, पोर्ट 80 पर होने बंदरगाह 8124. करने के लिए "चैट" उप डोमेन में सभी अनुरोधों को पुनः निर्देशित द्वारा चाहते हैं तो मैं mod_proxy सक्षम है और lighttpd.conf में मैं कहा:

$HTTP["host"] == "chat.myserver.com" { 
    proxy.server = (
      "" => ((
        "host" => "78.128.79.192", 
        "port" => "8124" 
      )) 
    ) 
} 

पर ग्राहक, जब मैं WebSocket से कनेक्ट,

var socket = io.connect('http://chat.myserver.com'); 

मैं सही संदेश Node.js से मिलता है:

debug - client authorized 
info - handshake authorized 6067470561567883577 
debug - setting request GET /socket.io/1/websocket/6067470561567883577 
debug - set heartbeat interval for client 6067470561567883577 
debug - client authorized for 
debug - websocket writing 1:: 

लेकिन ब्राउज़र एक त्रुटि देता है:

Firefox can't connect to server ws://chat.myserver.com/socket.io/1/websocket/6067470561567883577 
बेशक

, सब कुछ सही ढंग से काम करता है अगर मैं बंदरगाह 8124 से सीधे जुड़ने:

var socket = io.connect('http://www.myserver.com:8124'); 

लेकिन, जैसा कि मैंने कहा, मैं करने के लिए सभी ग्राहक यातायात चाहते हैं पोर्ट 80 पर हो। क्या यह संभव है?

उत्तर

7

mod_proxy websockets के साथ संगत नहीं माना जाता है।

HAProxy संगत है (मैंने इसे स्वयं परीक्षण नहीं किया है लेकिन यहां एक article on its configuration for websockets है)।

+3

मैंने अभी हैपरॉक्स स्थापित किया है और यह पूरी तरह से काम कर रहा है। धन्यवाद – lortabac

+0

आपका स्वागत है। और पुष्टि के लिए धन्यवाद क्योंकि मैंने इसका परीक्षण नहीं किया था (जैसा कि मैंने कहा था) और इसे करने की उम्मीद कर रहा था :) –

+0

हाय! मैं वर्तमान में lighttpd के साथ socket.io कार्यों के साथ websocket बनाने की कोशिश कर रहा हूं और मुझे एक समस्या का सामना करना पड़ रहा है। ऐसा लगता है कि यह 'ws: // /socket.io/1/ /:' कनेक्शन 'हेडर गुम है' से कनेक्ट नहीं हो सकता है। हैप्रोक्सी की आपकी conf फ़ाइल क्या है जैसा आपने कहा था कि यह इसके साथ काम करता है (lighttp mod_proxy के बजाय)। बहुत धन्यवाद! – D4V1D

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