HTTPS ile WebSocketlere sahip olmak mümkün müdür?
HTTPS'ye geçerken, WebSocket'im bir güvenlik hatası veriyor ve normal HTTP ile mükemmel çalışıyor.
Aşağıda bir pasaj;
socket = new WebSocket("ws://my_www:1235");
HTTPS ile WebSocketlere sahip olmak mümkün müdür?
HTTPS'ye geçerken, WebSocket'im bir güvenlik hatası veriyor ve normal HTTP ile mükemmel çalışıyor.
Aşağıda bir pasaj;
socket = new WebSocket("ws://my_www:1235");
Yanıtlar:
WebSocket bağlantısı, bir HTTP veya HTTPS el sıkışmasıyla hayatına başlar. Sayfaya HTTP aracılığıyla erişildiğinde, WS veya WSS (Güvenli WebSocket: TLS üzerinden WS) kullanabilirsiniz. Bununla birlikte, sayfanız HTTPS aracılığıyla yüklendiğinde, yalnızca WSS'yi kullanabilirsiniz - tarayıcılar, güvenliği "düşürmeye" izin vermez.
WebSockets'i HTTPS üzerinden kullanamazsınız, ancak WebSockets'i TLS üzerinden kullanabilirsiniz (HTTPS, TLS üzerinden HTTP'dir). URI'de "wss: //" kullanın.
Firefox'un son sürümünün bir HTTPS sayfasından TLS olmayan WebSocket'leri kullanmanıza izin vermeyeceğine inanıyorum, ancak bunun tersi bir sorun olmamalı.
wss://
için ws://
. Bu yüzden, wss://ws.domain.com
apache proxy'yi kullanıyorum ve uyguluyorum ve isteği WS sunucusunun çalıştığı yere yönlendiriyorum. örneğin: ws://10.12.23.45:5641/server.php
. ve bunun çok kötü bir çözüm olduğunu biliyorum - yine de benim için çalışıyor. Apache yapılandırmasında bana rehberlik ederseniz yardımınız için minnettar olurum. örneğin: .cert
vb. nereye koymalıyım teşekkürler!
1 ek uyarı (kanaka / peter yanıtının yanı sıra): WSS kullanıyorsanız ve sunucu sertifikası tarayıcı tarafından kabul edilmiyorsa, herhangi bir tarayıcıdan oluşturulmuş iletişim kutusu alamayabilirsiniz (Web sayfalarında olduğu gibi). Bunun nedeni, WebSocket'lerin sözde "alt kaynak" olarak değerlendirilmesidir ve sertifika kabul / güvenlik istisnası / alt kaynaklar için hangi iletişim kutuları işlenmezse.
alert()
?