php - 使用 Laravel + Ratchet PHP 启用 TLS 时,JS 客户端出现连接错误 1006
问题描述
我在我的 laravel 应用程序中运行 Ratchet 服务器,并且 websocket 在默认配置中运行良好,如棘轮文档中所述,但是当我尝试使用 ReactPHP 的 SecureServer 启用 TLS 时,我无法连接到 WebSocket 服务器。这是我用于启用 TLS 的版本的代码:
$server = new HttpServer(
new WsServer(
new $controller(config('app.debug')) // Controller that implements MessageComponentInterface
)
);
$loop = Loop::get();
$secure_websockets = new Server('0.0.0.0:'.$port, $loop);
$secure_websockets = new SecureServer($secure_websockets, $loop, [
'local_cert' => config('websockets.cert'),
'local_pk' => config('websockets.key'),
'verify_peer' => false
]);
$secure_websockets_server = new IoServer($server, $secure_websockets, $loop);
$secure_websockets_server->run();
对于有效的版本(但没有 TLS),这是我正在使用的代码:
$server = IoServer::factory(
new HttpServer(
new WsServer(
new WebSocketController()
)
),
$port,
);
$server->run();
证书文件包含“-----BEGIN PUBLIC KEY-----”部分,密钥文件包含“-----BEGIN RSA PRIVATE KEY-----”部分。这两个文件都是使用 OpenSSL RSA 2048 生成的。
解决方案
推荐阅读
- sql-server - Tombstone 清理失败,出现异常“当前操作无法完成,因为没有为同步配置数据库
- html - 导航栏图像未加载
- python - PySimpleGUI 表格元素可以自动滚动到底部吗?
- php - 如何在 php 中格式化此数组/json 中的数据
- ios - 如何在 Swift 中使用 Moya 实现 SSL 固定 - 公钥固定(不是证书固定)?
- .htaccess - 将 md5 哈希添加到 htaccess 中的 URL 以防止缓存
- delay - 如何在 1 小时的时间范围内按分钟数延迟 pine 脚本中的订单?
- javascript - onload 滚动到可滚动列表中的特定项目
- angular - Angular:如何从数据库数据(Asp net core Web API 数据)中以角度创建动态菜单
- visual-studio-code - VS Code 中不需要的数据包源