swoole에 연결할 수 없으면 어떻게 해야 하나요? Websocket은 swoole에서 활성화된 https 서버에 연결할 수 없습니까?
Swoole에서 https 연결 문제
얼마 전 한 친구가 PHP 블로거에게 웹소켓을 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!