2013-01-22 35 views
18

मैं एक पर्ल मोजोलिस प्रोजेक्ट पर काम कर रहा हूं जो websockets का उपयोग करता है। मैं इसे एक साझा सर्वर पर अपाचे चलाने के लिए लॉन्च करना चाहता हूं और Hypnotoad के साथ चल रहे मेरे Mojolicious कोड के लिए url prettier बनाने के लिए proxyPass और proxyPassReverse का उपयोग करना चाहता हूं।अपाचे प्रॉक्सीपास रिवरसे और वेबसाइट्स

मैंने इसे निम्नानुसार स्थापित किया है।

अपाचे यूआरएल:

mydomain.com 

हिप्नोटोड यूआरएल:

mydomain.com:8080 
निम्नलिखित अपाचे प्रविष्टि मैं करने के लिए

project.mydomain.com 

apache.conf प्रविष्टि

प्रॉक्सी उल्टा कर सकते हैं हिप्नोटोड सर्वर के साथ

<VirtualHost *:80> 
    ServerName project.mydomain.com 
    DocumentRoot /var/www/project 
    <Directory /var/www/project/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride None 
    Order allow,deny 
    allow from all 
    </Directory> 
    ProxyRequests Off 
    ProxyPreserveHost On 
    ProxyPass/http://mydomain.com:8080/ keepalive=On 
    ProxyPassReverse/http://mydomain.com:8080/ 
    RequestHeader set X-Forwarded-HTTPS "0" 
</VirtualHost> 

हालांकि मेरी WebSocket अनुरोध एक 404 त्रुटि देना जब मैं का उपयोग करें:

ws://project.mydomain.com/get-data 

और एक 302 त्रुटि जब मैं का उपयोग करें:

ws://mydomain.com:8080/get-data 

मुझे लगता है कि यह एक समस्या नहीं होगी WebSocket है प्रमाणीकरण की जांच नहीं की, लेकिन वे जांच करने के लिए Mojolicious मार्गों का उपयोग करें कि आप websocket के माध्यम से पोस्ट कर सकते हैं।

जो मैं देख सकता हूं उससे अपाचे रिवर्स प्रॉक्सीइंग websockets का समर्थन नहीं करता है। Apache/httpd conf फ़ाइलों में।

क्या किसी को अपाचे का उपयोग करके इसका उपयोग करने योग्य समाधान मिला है जो उत्पादन वातावरण के लिए स्थिर है?

उत्तर

15

मार्च a patch was committed to the Apache trunk जिम जगियल्स्की द्वारा जो वेबसाइकिलों को सही ढंग से प्रॉक्सी करने की अनुमति देता है। पैच proxy_wstunnel नामक एक नया सबमिशन जोड़ता है जो allows mod_proxy to work with the "ws" and "wss" protocols है।

मॉड्यूल अभी तक किसी भी आधिकारिक अपाचे रिलीज (8 जून 2013 तक) में नहीं है, इसलिए आपको इसे स्वयं संकलित करने की आवश्यकता होगी। Voyageur's blog अपाचे 2.2 की प्रक्रिया का वर्णन करता है, लेकिन यह अपाचे 2.4

+0

@ user1439590 आपको इसे – lkraav

-5

के लिए आसान होना चाहिए यह हो सकता है कि आप जो खोज रहे हैं। एक नज़र डालें: https://npmjs.org/package/npr

15

अपाचे httpd 2.4.6 में प्रॉक्सीइंग websocket अनुरोध शामिल हैं।

+6

के उत्तर के रूप में स्वीकार करना चाहिए यह उत्तर के बजाय टिप्पणी के लिए अधिक उपयुक्त होगा। एक बार जब आप [पर्याप्त प्रतिष्ठा प्राप्त करें] (http://stackoverflow.com/help/privileges/comment), कृपया इस प्रश्न पर टिप्पणी पर जाने पर विचार करें। –

+3

@ समीरसिंह मुझे लगता है कि यह पैच के कमिश्नर द्वारा प्रश्न का उत्तर _exactly_ है। – iwein