無法連線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。
以上是oppo無法連接swoole怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!