मैं mod_proxy_wstunnel का उपयोग करके एक नोड के लिए websocket नोड के लिए socket.io के लिए वेबस्केट कनेक्शन को जोड़ने के लिए Apache 2.4 को कॉन्फ़िगर करने का प्रयास कर रहा हूं। हमने सॉकेट.आईओ 0.9 के साथ यह ठीक काम किया था, लेकिन 1.0 रिलीज के साथ उन्होंने सॉकेट एंडपॉइंट को एक क्वेरी पैरामीटर में बदल दिया, और अब मुझे सही प्रॉक्सी निर्देशों के साथ अपाचे को कॉन्फ़िगर करने में परेशानी हो रही है।
सभी अनुरोधों /socket.io/?EIO=N&transport=websocket
(जहां एन कोई भी अंक है, आमतौर पर 2) को अग्रेषित करने की आवश्यकता है ws://localhost:8082/socket.io/
, लेकिन अन्य सभी अनुरोधों को अग्रेषित करने की आवश्यकता है http://localhost:8082/socket.io/
।
मैंने निम्नलिखित दोनों विन्यासों के बदलावों की कोशिश की है:
ProxyPass /socket.io/?EIO=2&transport=websocket http://localhost:8082/socket.io/?EIO=2&transport=websocket
ProxyPassReverse /socket.io/?EIO=2&transport=websocket http://localhost:8082/socket.io/?EIO=2&transport=websocket
ProxyPass /socket.io/ http://localhost:8082/socket.io/
ProxyPassReverse /socket.io/ http://localhost:8082/socket.io/
।
RewriteRule /socket.io/?EIO=([0-9]+)&transport=websocket ws://localhost:8082/socket.io/ [QSA,P]
ProxyPass /socket.io/ http://localhost:8082/socket.io/
ProxyPassReverse /socket.io/ http://localhost:8082/socket.io/
मैंने अपने googling से इकट्ठा किया है कि ProxyPass और स्थान क्वेरी स्ट्रिंग्स को लक्षित नहीं कर सकते, तो क्या यहां कोई अन्य विकल्प है? रास्तों को सॉकेट.io में हार्ड-कोडित किया जाता है, इसलिए पूरी लाइब्रेरी को फोर्क करने के लिए मैं उन्हें नहीं बदल सकता।