Bir prize ters bir proxy arkasından bir socket.io sunucusuna bağlanmaya çalışıyorum. Ben port nodejs sunucu vekil test için port 9096. aynı makinede çalışan 8888 üzerinde çalışan Apache'niz böyle benim yerel makinede yapılandırılır: istemci kodunda Bir ters proxy aracılığıyla socket.io bağlantısı nasıl yapılır
ProxyPass /some/path http://localhost:9096
ProxyPassReverse /some/path http://localhost:9096
ben böyle bir şey yapmak :
var socketUrl = 'http://localhost:8888/some/path/namespace';
var socket = io.connect(socketUrl);
Bu, aşağıdaki davranışlarla sonuçlanır. Ben soket için "kaynak" yapılandırmasını bulduk
localhost:8888/socket.io/1?123983759
-> 404 not found
:
http://localhost:8888/some/path/socket.io/socket.io.js
-> 200 ok
Sonra soket de bağlanmaya çalışır:
İlk müvekkilimin de socket.io.js senaryoyu ister. io, ancak bu yalnızca socket.io.js betiğinin nereden alınacağına, ancak bağlanmaya çalıştığı URL'ye ayarlanmadığı anlaşılıyor. Her zaman müşteri kökeninin köküne bağlanmak gibi görünüyor.
Bunu nasıl localhost bağlanmak yapabilir: 8888/bir/yol/socket.io/1 123983759
? Müşteriniz kodunda
Tamam şimdi doğru url gibi görünüyor ne bağlanmaya çalışır. El sıkışma yapıldı, ancak istek (socket.io/1?t=123983759) durumu şimdi "iptal edildi". Tarayıcıda aynı URL'yi kullanırsam, sadece "xrf021YGWWEF5NUHoyTD: 60: 60: websocket" gibi bir şeyi sorunsuz olarak döndürür. Neler olduğunu bilmiyorum. –
"Handshake yapıldı" ile nodejs "info - handshake yetkili 05T-Uzt9CmK4SrN8sPQJ" –
yazdı, bu işe yaradı var, ama iptal edilen soruna neden koştu hatırlayamıyorum. Ben socket.io ayarları değil ters proxy için benim ayarları ile ilgili olduğunu düşünüyorum. Socket.io sürüm 1.0 için kaynak seçeneği 'yol' ile değiştirildi. Bu yararlı http://blog.seafuj.com/migrating-to-socketio-1-0 –