棘轮和WSS无法正常工作

时间:2017-02-07 09:57:14

标签: php ssl ratchet

经过一项研究,我将尝试解释整个过程,我一直在尝试解决问题。

首先,我的想法是与我的应用程序的用户建立一个WebSocket连接与服务器基本上共享一些信息,如果我们不在SSL下,所有这一过程都可以正常工作。

当我的服务器受到保护时,我收到两条消息,首先,我无法连接到SSL下的非安全WebSocket服务,原因很明显。然后我尝试了安全连接,并且失败了400手抖动。

然后我开始研究这个问题,我看到棘轮文档并没有告诉我任何有关此问题的新内容,至少没有找到。在那之后,我找到了。

php ratchet websocket SSL connect?

我要求我的提供商安装和配置这个Apache模块( Apache版本2.4.25,以防提供任何有价值的信息)。配置工作从现在起我可以与ws://www.website.com / ws / 建立连接,并且工作正常。但是现在当我尝试使用wss连接时,我得到了一个超时响应:

/ * Apache错误

[Mon Feb 06 16:49:02.966991 2017] [cgi:error] [pid 8969](70014)找到的文件结尾:[client ipadress:port] AH01225:读取请求实体数据时出错 [Mon Feb 06 16:51:42.530383 2017] [cgi:error] [pid 9837](70014)找到的文件结尾:[client ipadress:port] AH01225:读取请求实体数据时出错

* /

关于Stunnel配置的最后一件事,我不确定应该在这些变量上使用哪些端口。

https://www.stunnel.org/config_unix.html

 [websockets]
 accept = 8443 
 connect = 8888 //i guess here the port where my WS is running?

目前,根据我所做的所有这些信息和研究,我无法找到任何可以帮助我解决此问题的其他线索。

提前致谢。

2 个答案:

答案 0 :(得分:0)

请在这里查看答案,我在这里分享如何配置Apache服务器以同时访问wss://和ws://。

PHP websocket on SSL with proxy_wsTunnel - Apache

答案 1 :(得分:0)

使用Radchet进行了数小时的攻击后,我开始使用IIS 10.0的新Windows 2016机器。

我的Ratchat服务器是从命令行启动的,并且运行在localhost:8585

  • 将Windows 2016与IIS10.0一起使用,安装了Websocket功能(但未在IIS中使用)。
  • 创建了一个新网站,在端口443上使用HTTPS绑定。
  • 此网站是虚拟网站,没有HTML /网络文件。
  • 创建应用程序代理重写规则,请参阅web.config:

    
    
        
            
                
                    
                        
                        
                            
                            
                        
                        
                    
                
            
        
    

  • 客户端可以与wss://yoursertcomain.com:443连接,IIS将把请求传递给Ratchet。

我们的应用程序现已通过WSS启动并运行。

PS:使用环回IP地址127.0.0.1而不是'localhost',否则连接需要1秒,现在它已经是几个ms了。