मैं रेल एप्लिकेशन पर रूबी को तैनात करने का प्रयास कर रहा हूं जिसे थिन के माध्यम से परोसा जा रहा है। एप्लिकेशन वेबसोकेट का उपयोग करता है, विशेष रूप से WebSocket-रेल पुस्तकालय।
यह स्थानीय स्तर पर काम करता है। जब तैनात करने का प्रयास किया जाता है, तो यह काम नहीं करता है। Websocket सर्वर है नहीं एक स्वसंपूर्ण अनुप्रयोग - वेबस्कैट मुख्य अनुप्रयोग सर्वर का एक हिस्सा है। जब मेरी जावास्क्रिप्ट वेबसर्वर से संबंध बनाती है, तो मैं अपने उत्पादन में निम्नलिखित देखता हूं:
[2014-11-02T23:38:19.942236 #9154] INFO -- : Started GET "/websocket" for <IP ADDRESS> at 2014-11-02 23:38:19 +0000
प्रोडक्शन.लॉग में वेबसैट रिक्वेस्ट से संबंधित और कुछ नहीं है। मेरे websocket_rails.log में, मैं देखता हूं:
[32mConnectionManager^[[0m] Connection opened: #<Connection::b2b0d6b0e3faa4432b0c>
[32mConnectionManager^[[0m] Connection closed: #<Connection::b2b0d6b0e3faa4432b0c>
यह दिखाते हुए कि अनुरोध वेबसोकेट कोड तक पहुंच गया था, और कनेक्शन तुरंत बंद कर दिया गया था। ब्राउज़र में, मैं देख रहा हूँ
WebSocket connection to "ws:/<DOMAIN>/websocket" failed: Error during WebSocket handshake: Unexpected response code: 200
मुझे इस त्रुटि के संबंध में बहुत सीमित जानकारी मिली है। क्या इन त्रुटियों को डीबग करने का एक आसान तरीका है? Chrome इंस्पेक्टर में डेटा का निरीक्षण करना / websocket के अनुरोध के लिए निम्नलिखित दिखाता है:
मुझे लगता है कि मैं एक साधारण विन्यास याद कर रहा हूँ, लेकिन पता है कि क्या हो सकता है पसंद है। कोई विचार?
धन्यवाद!
उत्तर:
जवाब के लिए 0 № 1मेरे पास मेरी स्थानीय मशीन पर एक पतला सर्वर चल रहा थाएक ऐप चलाने के लिए, और जब मैंने प्रोडक्शन के लिए तैनात किया तो यह काम नहीं किया। मुझे एक अलग सर्वर चलाने के लिए हरकोकू पर एक अलग ऐप सेट करना पड़ा।