使用 SSL 创建 PHP WebSocket
Posted
技术标签:
【中文标题】使用 SSL 创建 PHP WebSocket【英文标题】:Create PHP WebSocket with SSL 【发布时间】:2016-01-27 07:55:02 【问题描述】:我的网站上有一个 websocket 聊天,我最近在我的网站上添加了 SSL 证书。当我用http
打开我的网站时,聊天就开始了。当我用https
打开它时,它不起作用。我使用 javascript 作为我与ws://
协议聊天的客户端。由于我的页面上有 SSL 加密,我将该协议更改为 wss://
,但它不会那样工作。这是我创建套接字的 php 服务器代码的一部分:
$host = 'localhost';
$port = '9000';
$null = NULL;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
socket_bind($socket, 0, $port);
socket_listen($socket);
$clients = array($socket);
【问题讨论】:
似乎您缺少 wss 的 ssl serteficate 配置,您可以在这里查看第一个答案:***.com/questions/6969316/securing-websockets 上面写着You will need to have a signed SSL certificate configured with your websocket server, but that's pretty much required anyways.
是的,我知道这一点,但是如何将我的证书添加到 php socket
?
【参考方案1】:
如何将证书添加到 php 套接字?
使用不同的函数调用。
http://php.net/manual/en/function.stream-socket-client.php
并设置正确的套接字选项
http://php.net/manual/en/context.ssl.php
【讨论】:
你能发布一个示例代码吗?我不应该使用stream_socket_server
而不是stream_socket_client
吗?以上是关于使用 SSL 创建 PHP WebSocket的主要内容,如果未能解决你的问题,请参考以下文章
如何创建 PHP SOAP 客户端以在 SSL 下调用 WCF Web 服务?
PHP PDO 使用 SSL 连接到 MS SQLServer Express
sh 翻译:“OS X 10.10 Yosemite本地开发环境,Apache,PHP和MySQL与Homebrew”9。创建〜/ Sites / ssl / ssl-shared-cert.inc需