Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 如何使用安全WebSocket(wss)?_Apache_Ssl_Websocket_Autobahn_Thruway - Fatal编程技术网

Apache 如何使用安全WebSocket(wss)?

Apache 如何使用安全WebSocket(wss)?,apache,ssl,websocket,autobahn,thruway,Apache,Ssl,Websocket,Autobahn,Thruway,我在我的网站上使用AutobahnJS和Throuway,使用非加密连接一切正常: var connection = new autobahn.Connection({ url: 'ws://www.example.com:9090', realm: 'restricted_realm'

我在我的网站上使用AutobahnJS和Throuway,使用非加密连接一切正常:

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/'失败:建立连接时出错:网络::错误\u超时\u

我的服务器上有SSL证书,可以通过
https://www.example.com

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

用作WebSocket的底层传输,因此您可以参考他们关于部署的文档:

您也可以使用stunnel或。

我用于。这是我的生产配置的一部分

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上的未加密流量