Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP Websocket错误:net::ERR\u SSL\u PROTOCOL\u使用cloudflare时出错_Javascript_Php_Websocket - Fatal编程技术网

Javascript PHP Websocket错误:net::ERR\u SSL\u PROTOCOL\u使用cloudflare时出错

Javascript PHP Websocket错误:net::ERR\u SSL\u PROTOCOL\u使用cloudflare时出错,javascript,php,websocket,Javascript,Php,Websocket,到现在为止,我已经在SSL上使用PHP Ratchet Websocket。最近,我在我的网站上安装了cloudflare。 这样做之后,我在客户端得到一个错误:连接建立中的错误:net::ERR\u SSL\u PROTOCOL\u error。正如我所检查的,后端的websocket服务器确实在工作并等待建立连接 这是前端websocket的建立:const conn=newWebSocket('wss://xyz:8080'); 下面是我的websocket服务器设置: ini_set('

到现在为止,我已经在SSL上使用PHP Ratchet Websocket。最近,我在我的网站上安装了cloudflare。 这样做之后,我在客户端得到一个错误:
连接建立中的错误:net::ERR\u SSL\u PROTOCOL\u error
。正如我所检查的,后端的websocket服务器确实在工作并等待建立连接

这是前端websocket的建立:
const conn=newWebSocket('wss://xyz:8080');

下面是我的websocket服务器设置:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require __DIR__ . '/vendor/autoload.php';

use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use dealspace_websocket\Chat;

$app = new HttpServer(
    new WsServer(
        new Chat()
    )
);

$loop = \React\EventLoop\Factory::create();

$privateKEY = __DIR__ . '/../private/private.pem';
$publicKEY = __DIR__ . '/../private/public.pem';
$secure_websockets = new \React\Socket\Server('0.0.0.0:8080', $loop);
$secure_websockets = new \React\Socket\SecureServer($secure_websockets, $loop, [
    'local_cert' => $publicKEY,
    'local_pk' => $privateKEY,
    'verify_peer' => false
]);

$secure_websockets_server = new \Ratchet\Server\IoServer($app, $secure_websockets, $loop);
$secure_websockets_server->run();
?>


我还启用了服务器中的错误,但在运行服务器时没有发现任何错误。

如果您的服务器使用Cloudflare代理,则安全Websocket只能使用Cloudflare支持的HTTPS端口:

  • 443
  • 2053年
  • 2083
  • 2087
  • 2096
  • 8443
如果您域的流量目的地与上面列出的端口不同,则: 通过Cloudflare DNS应用程序将子域添加为灰色云记录,或 启用Cloudflare频谱