Was soll ich tun, wenn ich keine Verbindung zu swoole herstellen kann? Websocket kann keine Verbindung zum von swoole aktivierten https-Server herstellen?
Probleme beim Verbinden von https in swoole
Vor einiger Zeit konsultierte ein Freund einen PHP-Blogger wegen des Problems der Websocket-Verbindung zu HTTPS. Die Online-Informationen waren sehr chaotisch, so auch der Blogger Ich habe es selbst ausprobiert. Einige Fragen und technische Zusammenfassungen werden mit Ihnen geteilt.
Der Server wird mit dem PHP-Erweiterungs-Swoole-Framework entwickelt und der Client wird mit Websocket in JS entwickelt.
Die HTTPS-Lösung lautet wie folgt:
1. Denken Sie daran, beim Kompilieren und Installieren von Swoole die Unterstützung für OpenSSL auszuwählen.
cd swoole_srcphpize ./configure --enable-openssl make && make install 2.如果遇到报错configure: error: Cannot find php-config. Please use --with-php-config=PATH
Lösung: Fügen Sie den PHP-Konfigurationspfad manuell hinzu
./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl
3. Fügen Sie schließlich die Zertifikatsinformationen im Swoole-Code hinzu:
//初始化类的时候,加上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. Client-Verbindung:
var wsl = "wss://domain/path";//证书的域名 ws = new WebSocket(wsl);
Achten Sie darauf, ws in wss zu ändern, wenn Sie eine Verbindung zum Client herstellen.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Oppo keine Verbindung zu Swoole herstellen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!