首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用安全的websockets (wss)?

如何使用安全的websockets (wss)?
EN

Stack Overflow用户
提问于 2015-03-31 01:11:11
回答 2查看 3.1K关注 0票数 2

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

代码语言:javascript
复制
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访问我的站点。

要使websockets安全工作,我需要做些什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-31 13:09:47

特鲁威使用棘轮作为WebSockets的底层传输,因此您可以在部署时引用它们的文档:

http://socketo.me/docs/deploy

您也可以使用特技或nginx

票数 2
EN

Stack Overflow用户

发布于 2015-06-26 10:26:03

我用HAProxy 1.5+表示SSL终端。这里是我生产的配置的一部分。

代码语言:javascript
复制
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上侦听未加密的流量,在端口9090上侦听未加密的流量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29358964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档