您的位置:首页 > 其它

swoole websocket 支持ssl

2018-01-01 17:51 363 查看
上一篇博文中,在成功利用
swoole_websocket_server
开启websocket服务之后,遇到一个问题,大多数web都是
https
的,特别是涉及到安全性比较高,设计互联网金融、数字货币的时候,
https
都是必须的。这时候,因为安全问题,
ws://
连接会被禁止。

1. 安装swoole的openssl支持。

重新编译安装swoole源码,加上
--enable-openssl


%PHP_BIN%/phpize
cd swoole_src
./configure --enable-openssl
make && make install


2. 代码中使用websocket ssl代替ws

服务端,比较上次代码,做出以下改变即可

//初始化类的时候,加上openssl参数
$serv = new swoole_websocket_server(":", 8080, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL);
//配置证书文件位置
$key_dir = "YOUR_KEY_DIR";
$serv->set(array(
'work_num'=>1,
'ssl_cert_file'=>$key_dir.'/file.crt',
'ssl_key_file' =>$key_dir.'file.key'
)
);


客户端,将连接换为
wss
即可

var wsl = "wss://domain/path";
ws = new WebSocket(wsl);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ssl websocket