无法连接swoole怎么办?websocket无法连接swoole开启的https服务端?
swoole中连接https问题
前段时间有伙伴咨询一点PHP博主关于websocket连接HTTPS的问题,网上资料又非常杂乱,所以博主也亲自尝试了一下一些问题以及技术总结分享给大家。
服务端使用的是PHP扩展Swoole框架开发,客户端采用JS中的websocket开发。
HTTPS解决方案如下:
1.编译安装swoole时记住选择支持openssl。
cd swoole_srcphpize ./configure --enable-openssl make && make install 2.如果遇到报错configure: error: Cannot find php-config. Please use --with-php-config=PATH
解决方式 :手动添加php-config路径
./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl
3.最后在swoole代码中加入证书信息:
//初始化类的时候,加上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'));
4.客户端连接:
var wsl = "wss://domain/path";//证书的域名 ws = new WebSocket(wsl);
一定要注意客户端连接时将ws改成wss。
Atas ialah kandungan terperinci oppo无法连接swoole怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!