2013-11-28 28 views
8

İstemci yerel bir WebSocket sunucusuna bağlanabilen bir web sayfası oluşturmaya çalışıyorum. Buradaki amaç, tarayıcıda çalışan JavaScript istemcisini uzak web sunucusu ile WebSocket hizmetini uygulayan yerel olarak yüklenmiş istemci uygulaması arasında iletişimi sağlamak için bir proxy gibi kullanmaktır.https yoluyla yüklenen bir web sayfası, localhost üzerinde çalışan bir WebSocket sunucusuna nasıl bağlanabilir?

Kısacası, yaptığım şey, ws: // localhost: 1234/context için yeni bir WebSocket açan bazı JavaScript içeren https://example.com'dan bir web sayfası yüklemektir. Bu, web sayfasına http yoluyla erişildiği sürece iyi çalışır. https kullanıldığında,, ancak Firefox ve Internet Explorer , bağlantısını reddeder ve WebSocket kurucusu bir istisna atar (SecurityError, code 18). Şimdi, Mozilla'dan https sitelerinin yalnızca güvenli (wss: //) WebSockets kullanması ve düz http sitelerinin yalnızca düz WebSockets kullanması gerektiğini belirten bir öneri buldum (link). Ancak, localhost'a bir https bağlamından bağlanırken güvenlik konusunu gerçekten göremiyorum. Ayrıca, bu, Chrome, Opera ve Safari için bir çekicilik gibi çalışır.

Asıl soru şudur: Bu soruna geçici bir çözüm bulmak için herhangi bir yolu var mı? Web sayfasındaki https olmayan bir içeriğin tanıtılması veya https: // localhost'a https tarafından iletilen bir web sayfasından bağlanabilmesi için tüm tarayıcılara benzer bir şey eklemek gibi mi?

Çok önceden teşekkürler! Ben tam olarak bir web geliştiricisi değilim, bu yüzden tarayıcıya özgü bu tür davranışlar benim uzmanlık alanımda değildir :)

cevap

1

Önce sertifikayı kabul etmelisiniz.

Durumunuzda bunu yalnızca https://localhost:1234/context adresine giderek yapabilirsiniz. Bu tamamlandığında, sorunuzdaki wss URL'sini kullanabilirsiniz.

İlgili konular