আমি mod_proxy_wstunnel ব্যবহার করে একটি নোড.জেএস ওয়েবসকেট সার্ভারে সকেট.ইওয়ের জন্য ওয়েবসকেট সংযোগটি প্রক্সি করার জন্য অ্যাপাচি ২.৪ কনফিগার করার চেষ্টা করছি। আমাদের সকেট.ইও 0.9 দিয়ে এই কাজটি দুর্দান্ত ছিল, তবে 1.0 টি মুক্তির সাথে সাথে তারা সকেটের শেষ অবস্থানটিকে একটি ক্যোয়ারি প্যারামিটারে পরিবর্তন করেছে এবং এখন সঠিক প্রক্সি নির্দেশাবলীর সাথে অ্যাপাচি কনফিগার করতে আমার সমস্যা হচ্ছে।
সমস্ত অনুরোধে /socket.io/?EIO=N&transport=websocket
(যেখানে এন কোনও সংখ্যার, সাধারণত ২) এ ফরোয়ার্ড করা দরকার 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/
আমি আমার গুগলিং থেকে সংগ্রহ করেছি যে প্রক্সিপাস এবং অবস্থানগুলি কোয়েরি স্ট্রিংগুলিকে লক্ষ্য করতে পারে না, তাই এখানে অন্য কোনও বিকল্প আছে কি? পাথগুলি সকেট.ওয়েতে কঠোরভাবে কোডড করা হয়েছে, তাই পুরো লাইব্রেরিটি কাঁটাচামচ করার কারণে আমি সেগুলি পরিবর্তন করতে পারি না।