2015-11-19 227 views

回答

0

是什麼讓你覺得Play不支持安全websocket?它確實,安全的websockets只是通過https而不是HTTP的常規websocket協議。只需啓用https,就可以擁有它,保護websocket支持。

可以在Apache代理的WebSockets使用此:

https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html

但你一定是瘋了這樣做,Apache使用每個連接一個線程,使用的WebSockets持久連接,使用每一個整個主題當你期望有很多這樣的連接是浪費資源的時候,像nginx這樣的非阻塞代理更有意義。

+0

謝謝。我不知道nginx是非阻塞的。現在我明白爲什麼在這種情況下不使用Apache。但是,我試圖通過在application.conf中設置「https.port = 9433」來啓用https中的https,但它不起作用。我沒有設置其他參數(play.server.https.keyStore.path,類型,密碼和算法),因爲我讀過它們有默認值。 –

+0

您的瀏覽器開發人員控制檯中的錯誤是什麼?請注意,如果沒有任何其他配置,Play會生成一個自簽名證書,瀏覽器默認會拒絕該證書,您需要將瀏覽器配置爲信任該證書。 –

+0

WebSocket客戶端用libwebsocket在C中編寫。但我認爲它和瀏覽器一樣。我應該將其配置爲信任證書。 –