2015-09-14 8 views
6

मैं प्रभावी ढंग से URL से पोर्ट 3000 को दूर करने के साथ-साथ http://example.com/{app}/socket.io...से Socket.IO और बदलें निर्देशिका पोर्ट निकालें

ProxyPass और ProxyPassReverse मैंने का प्रयोग करने के लिए पथ को बदलने के लिए कोशिश कर रहा हूँ उबंटू 15.04 पर अपाचे का उपयोग करना पथ को बदलने के लिए यूआरएल से बंदरगाह को प्रभावी ढंग से सर्वर और क्लाइंट पक्ष को अद्यतन करने के लिए हटा दिया गया है।

आभासी मेजबान परिवर्तन:

var io = require('socket.io')(http, {path: '/path/socket.io' }); 
app.get('/path/', function(req, res){ 

और ग्राहक में परिवर्तन है कि मैं था निम्नलिखित:

var socket = io({path: '/path/'}); 

ProxyPass /path/ http://example.com:3000/path/ 
ProxyPassReverse /path/ http://example.com:3000/path/ 

सर्वर साइड परिवर्तन है कि मैं बनाया निम्नलिखित था

सब कुछ सुचारू रूप से चलाने के लिए दिखाई दिया जब तक कि मैंने अपना कंसोल लॉग खोला औरकी एक बड़ी संख्या देखी क्रोम का उपयोग करते समयअनुरोध। यह निश्चित रूप से मेरे बैंडविड्थ को मार देगा और मुझे लगता है कि मैंने किसी भी तरह से सॉकेट को सही ढंग से नहीं सुन पाया जिसके परिणामस्वरूप GET अनुरोधों की बड़ी मात्रा में परिणाम हुआ।

क्या कोई व्यक्ति कुछ मार्गदर्शन प्रदान कर सकता है जो मैं संभवतः गलत कर रहा हूं?

+0

शायद सॉकेट.ओओ वेबसाईट सर्वर से कनेक्ट नहीं हो सकता है, यह फिर से कनेक्ट करने के लिए कई अनुरोध भेजता है, socket.io जेएस – trquoccuong

+0

@trquoccuong पर अपनी स्क्रिप्ट लिंक को ठीक कर सकता है क्या आप विस्तृत कर सकते हैं? मुझे कौन सा लिंक ठीक करना चाहिए? क्लाइंटसाइड पर एक? – Josh

+0

आपके पास app.get ('/ path') क्यों है? – Makubex

उत्तर

0

आप अनुरोध के रूप में socket.io लंबे मतदान करने के लिए वापस गिर रही है के रूप में अपाचे को प्रॉक्सी नहीं है WebSocket कनेक्शन आप तो

जोड़ने

mod_proxy_wstunnel 

के साथ इस को सक्षम करना होगा की एक बड़ी संख्या को देख रहे हैं

ProxyPass "/path/socker.io" "ws://localhost:3000/" 
संबंधित मुद्दे