- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 CentOS 7 上运行 Apache v2.4、PHP v5.6 w/php-fpm
所以我正在尝试让 wss 与 stunnel & Ratchet 一起工作。我有 Ratchet 的 Hello World ( http://socketo.me/docs/hello-world ) 在非 SSL 端口 8080 上使用测试代码成功运行。我可以从同一台机器远程登录,也可以从另一台机器远程登录。
通过阅读,我知道 ratchet 不支持 ssl 连接,但是通过用 stunnel 包装通信来支持,所以我设置了 stunnel 并在端口 8443 上监听了一个适当的证书,这似乎在工作(如日志所示)文件)。
当我尝试使用 Firefox 暂存器中的 wss 建立连接时,出现以下错误:Firefox 无法与位于 wss://testserver.testdomain.com:8443 的服务器建立连接
我可以通过各种日志文件看到正在创建的连接,但是由于我无法创建可靠的 wss 连接,所以某处通信失败。关于我遗漏了什么或我在哪里搞砸的任何想法?日志/代码如下
便签本代码
var conn = new WebSocket('wss://testserver.testdomain.com:8443');
conn.onopen = function(e) {
console.log("Connection established!");
};
conn.onmessage = function(e) {
console.log(e.data);
};
channel 配置:
cert = /etc/httpd/ssl/ov_wildcard.pem
[hublistener]
accept = 8443
connect = 8080
Stunnel 日志:
2016.05.11 14:43:28 LOG5[38759:140614807435328]: stunnel 4.56 on x86_64-redhat-linux-gnu platform
2016.05.11 14:43:28 LOG5[38759:140614807435328]: Compiled/running with OpenSSL 1.0.1e-fips 11 Feb 2013
2016.05.11 14:43:28 LOG5[38759:140614807435328]: Threading:PTHREAD Sockets:POLL,IPv6 SSL:ENGINE,OCSP,FIPS Auth:LIBWRAP
2016.05.11 14:43:28 LOG5[38759:140614807435328]: Reading configuration from file /etc/stunnel/stunnel.conf
2016.05.11 14:43:28 LOG5[38759:140614807435328]: FIPS mode is enabled
2016.05.11 14:43:28 LOG4[38759:140614807435328]: Insecure file permissions on /etc/httpd/ssl/cert.pem
2016.05.11 14:43:28 LOG5[38759:140614807435328]: Configuration successful
2016.05.11 14:45:59 LOG5[38765:140614807430912]: Service [hublistener] accepted connection from ***.***.***.***:39124
2016.05.11 14:45:59 LOG5[38765:140614807430912]: connect_blocking: connected 127.0.0.1:8080
2016.05.11 14:45:59 LOG5[38765:140614807430912]: Service [hublistener] connected remote server from 127.0.0.1:59795
Ratchet 示例输出:
[zxurian@ariel dev-hub]$ php module/HubListener/websocket.php
New Connection! (307)
New Connection! (317)
Connection 317 sending message "second window line 1
" to 1 other connection
Connection 317 sending message "second window line 2
" to 1 other connection
New Connection! (318)
Connection 318 sending message "GET / HTTP/1.1
Host: testserver.testdomain.com:8443
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 FirePHP/0.7.4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: https://testserver.testdomain.com
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: PrWlBjR2q6a0syT4oplnAQ==
Cookie: PHPSESSID=ci7102qouvqprhdpk483hv6ar3; exclusive_offers_popup=1; __utma=213556497.27501638.1462814210.1462827970.1462831402.3; __utmc=213556497; __utmz=213556497.1462814210.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmv=213556497.|1=l=%2F=1
x-insight: activate
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
" to 2 other connections
Telnet 连接 1
[zxurian@ariel ~]$ telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
second window line 1
second window line 2
GET / HTTP/1.1
Host: testserver.testdomain.com:8443
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 FirePHP/0.7.4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: https://testserver.testdomain.com
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: PrWlBjR2q6a0syT4oplnAQ==
Cookie: PHPSESSID=ci7102qouvqprhdpk483hv6ar3; exclusive_offers_popup=1; __utma=213556497.27501638.1462814210.1462827970.1462831402.3; __utmc=213556497; __utmz=213556497.1462814210.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmv=213556497.|1=l=%2F=1
x-insight: activate
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
最佳答案
我有一个在我自己的机器上运行的 Ratchet WebSocket,我也在使用 Apache2.4为了让它在 SSL 上工作,我做了:
代理传递套接字
在 (/etc/apache2/)apache2.conf 我添加了
//added for the websocket over SSL
ProxyPass /wss/ ws://alpha.example.com:8080/
这将我在端口 8080 上运行的 websocket 传递给 wss://alpha.example.com/wss/
为了确保您的 stunnel 配置正确,这就是我所做的在 (/etc/stunnel/)stunnel.conf
中cert = /etc/letsencrypt/live/www.example.com/cert.pem
key = /etc/letsencrypt/live/www.example.com/privkey.pem
[wss]
accept = 8082
connect = 8080
提醒:将我使用的 key 路径更改为您的 key 正在使用的路径。
在启动我的服务器的 PHP 文件中,我在 Ratchet 示例中使用了端口 8080
$webSock->listen(8080, '0.0.0.0'); // Binding to 0.0.0.0 means remotes can connect
关于ssl - 让 wss 使用 stunnel & ratchet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37171844/
我已经创建了一个 conf 文件,用于连接到位于/usr/local/etc/stunnel/中的 stunnel 的地址和端口,并启动了 stunnel 服务。 我已经把地址绑定(bind)到我的本
我有运行 stunnel 的机器 A。我正在从机器 B 的机器 A 的端口上发送数据,但是当请求来自不同的机器时,stunnel 没有监听这个端口。当我从本地计算机在同一端口上发送请求时,它工作正常。
我正在尝试了解用于在 stunnel 上到期时更换证书的程序。所以我在 Windows 上安装了一个简单配置的 stunnel: [test1] accept = 127.0.0.1:21234 co
1 个关于 Stunnel 的问题。我想将 Stunnel 用作互联网的 FIX(金融信息交换)网关,以支持 SSL 和非 SSL 连接。 Stunnel 是否可以在没有任何加密的情况下运行?我刚刚尝
我正在尝试在 Windows 中使用 REDIS 设置 stunnel。安装 stunnel 和 redis 后,我在服务器和客户端模式下进行了以下配置: 客户端机器配置: [redis-stunne
我知道 STunnel 可以通过配置文件中的“client = no”或“client = yes”行设置为服务器或客户端。有没有办法让一台机器既是服务器又是客户端? 最佳答案 这样就容易多了您只需在
我正在尝试更正 CentOS 6.x 的以下 stunnel 语法: stunnel -c -f -d 1143 -r imap.foo.tld:993 -P '' 建议的语法不起作用: -c: No
我使用 stunnel 版本 4.29 连接到服务,该服务的提供者禁用了通过 stunnel 4.29 的连接。这现在需要我从 WHM 更新我的 stunnel。 我更新使用 yum update
我有 Ratchet webSocket 服务器在运行并且运行良好。问题是某些连接在握手后立即关闭。 在搜索 stackOverflow 和 google 之后我发现我应该使用 wss,因为使用 ss
有人可以向我解释使用一种优于另一种的好处吗?它们具有可比性吗? 我知道 sshuttle 充当出站通信的代理,但是它也可以用于转发连接吗? 例如,stunnel 可以用作在我的网络之外传输数据的反向代
我有一个完全可操作的系统,其中基于 openssl 的客户端与 openssl 服务器交互。每个客户端都有自己的证书,由服务器验证。已使用 openssl(X509、pem)生成证书。它们是自签名的。
我有一个监听端口 8081 的 Web 服务(它是一个在单声道上运行的 ServiceStack REST Web 服务,如果有帮助的话)。我正在尝试使用 stunnel 保护它,但问题是一旦我连接到
寻求一些帮助,以通过 FIX4.4 协议(protocol)使用 stunnel 和 quickfix python 与我的经纪人 DUKASCOPY 建立连接。 这是我的 channel 配置: c
一段时间以来,我一直在启用 SSL 的页面上使用 stunnel 进行本地 Django 开发,但是自从升级到 Yosemite 之后它似乎停止工作了: $ sudo stunnel stunnel/
在 CentOS 7 上运行 Apache v2.4、PHP v5.6 w/php-fpm 所以我正在尝试让 wss 与 stunnel & Ratchet 一起工作。我有 Ratchet 的 Hel
我需要连接的服务为我提供了三个文件,我正在尝试弄清楚我需要什么来创建 STUNNEL 需要的 Cert=xxx.PEM 文件 我有一个“keystore.jks”文件。用 keytool 转储说这是一
我正在尝试通过 stunnel 实现 TCP 套接字,但不确定如何捕获服务器响应。我的stunnel配置文件是这样的: [Coinbase] client = yes accept = 127.0.0
我正在尝试使用 stunnel 将 wss 连接转换为 ws 连接,因为 wsServer不支持wss。服务器运行的是 Ubuntu,而我使用的客户端是 Chrome,如果重要的话。 这是我的stun
我在 Ubuntu 14.04 上使用 stunnel4 安全地将连接转发到远程连接。我重新启动了 stunnel 服务,它似乎正在正常运行,但我无法打开与 127.0.0.1:8888 的连接。 $
SSL 保护 Redis 集群的正确方法是什么? (客户端-服务器、节点-节点通信)。 如 Redis 集群规范中所述,集群上的每个节点都监听 2 个端口:用于“外部”通信的端口和用于集群总线的端口。
我是一名优秀的程序员,十分优秀!