簡體   English   中英

如何使用安全的WebSocket(WSS)?

[英]How to use secure websockets (wss)?

我在網站上使用AutobahnJS和Thruway,並且使用非加密連接可以正常工作:

var connection = new autobahn.Connection({
                                             url: 'ws://www.example.com:9090',
                                             realm: 'restricted_realm'
                                         });

connection.onopen = function (session) {
    alert('yay');
};

connection.open();

但是,我無法使用安全連接。 ws://www.mysite.com:9090更改為wss://www.example.com:9090會在控制台中導致以下錯誤:

WebSocket與“ wss://www.example.com:9090 /”的連接失敗:建立連接時出錯:net :: ERR_TIMED_OUT

我的服務器上有SSL證書,可以通過https://www.example.com訪問我的網站。

我需要做什么才能使安全的Websocket正常工作?

Thruway使用Ratchet作為WebSocket的基礎傳輸,因此您可以參考其有關部署的文檔:

http://socketo.me/docs/deploy

您還可以使用stunnel或nginx

我將HAProxy 1.5+用於SSL終止 這是我的生產配置的一部分。

frontend public
    # HTTP
    bind :80
    # Redirect all HTTP traffic to HTTPS
    redirect scheme https if !{ ssl_fc }

    # HTTPS
    bind :443 ssl crt ssl.pem no-sslv3 ecdhe prime256v1 ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
    acl        is_websocket hdr(Upgrade) -i WebSocket
    use_backend    ws if is_websocket #is_websocket_server
    default_backend    www

backend ws
    server    ws1    127.0.0.1:9090

backend www
    timeout server  30s
    server  www1    127.0.0.1:8080

在我的配置中,Apache監聽端口8080上的未加密流量,而WebSocket服務器監聽端口9090上的未加密流量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM