当前位置: 首页 > 面试题库 >

PHP棘轮websocket SSL连接?

越心水
2023-03-14
问题内容

我有一个棘手的聊天服务器文件

use Ratchet\Server\IoServer;
use Ratchet\WebSocket\WsServer;
use MyAppChat\Chat;
require dirname(__DIR__) . '/vendor/autoload.php';
$server = IoServer::factory(
    new WsServer(
        new Chat()
    )
  , 26666
);
$server->run();

我使用Websocket进行连接,ws效果很好

if ("WebSocket" in window) {
    var ws = new WebSocket("ws://ratchet.mydomain.org:8888");
    ws.onopen = function() {
        // Web Socket is connected. You can send data by send() method.
        ws.send("message to send");
    };
    ws.onmessage = function (evt) { 
        var received_msg = evt.data;
    };
    ws.onclose = function() { 
        // websocket is closed. 
    };
} else {
  // the browser doesn't support WebSocket.
}

我想要安全连接,因此我尝试使用SSL连接,但无法正常工作。

if ("WebSocket" in window) {
    var ws = new WebSocket("wss://ratchet.mydomain.org:8888");
    ws.onopen = function() {
        // Web Socket is connected. You can send data by send() method.
        ws.send("message to send");
    };
    ws.onmessage = function (evt) { 
        var received_msg = evt.data;
    };
    ws.onclose = function() { 
        // websocket is closed. 
    };
} else {
  // the browser doesn't support WebSocket.
}

我的问题是 如何将Websocket与SSL连接连接

任何的想法?


问题答案:

如果您使用的是Apache Web服务器(2.4或更高版本),请在httpd.conf文件中启用以下模块:

  1. mod_proxy.so
  2. mod_proxy_wstunnel.so

将此设置添加到您的httpd.conf文件

ProxyPass /wss2/ ws://ratchet.mydomain.org:8888/

需要WSS连接时,请在JavaSscript调用中使用以下URL:

var ws = new WebSocket("wss://ratchet.mydomain.org/wss2/NNN");

重新启动Apache Web服务器,并在应用设置(telnet主机名端口)之前,确保您的Ratchet worker(Web套接字连接)已打开。



 类似资料:
  • 我读过这篇stackoverflow帖子。不幸的是,我的PAAS支持不使用httpd.conf。他们建议我直接在。htaccess中添加ProxyPass。 关于在httpd.conf文件中添加以下一行,在这里我要告知,我们在服务器上没有使用httpd,因为服务器是基于Debian的,我们使用的是Apache web服务器。我相信您可以在htaccess文件中使用相同的代码行,或者如果您可以咨询开

  • 我试图通过使用棘轮来测试简单的WebSockets乒乓响应。我的WebSocket服务器看不到来自web浏览器的WebSocket客户端的任何响应,但浏览器可以很好地看到WebSocket服务器发送的数据包。我在找原因。 我目前的猜测是: 缺少一些HTTP标头 我必须在浏览器上对数据包进行编码 CloudFlare无法将WS流中的数据包识别为有效数据包,并将其处理 EC2实例中的CloudFlar

  • 概述 8mm轴轮连接片专门设计了两个8mm直径的通孔,与8mm直径的轴配合。 您可以使用它作为连接件,8mm轴的支架,或构建机器人车的底盘。 参数 材质:6061铝 厚度:3mm 长度:90mm 宽度:12mm

  • 嗨! 我一直试图用PHP舍入一个数字,但我得到了一个精度错误。 我想要的结果是53.98。 但这个代码给了我53.97。 谁能告诉我为什么? 谢谢!

  • 主要内容:我是该用 MySQLi ,还是 PDO?,MySQLi 和 PDO 连接 MySQL 实例,MySQLi 安装,PDO 安装,连接 MySQL,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO),关闭连接,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO)PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved) PDO (PHP D