php - React SecureServer 运行但在浏览器中抛出 SSL_ERROR_NO_CYPHER_OVERLAP

标签 php openssl ratchet reactphp

我们已经设置了一个安全套接字服务器,它在使用 SecureServer 保护它之前就可以工作了。运行 php 脚本成功,但是当尝试从应用程序连接时,浏览器会抛出 SSL_ERROR_NO_CYPHER_OVERLAP 错误。

我们的 php 脚本可能有问题。有人知道如何解决这个问题吗?

我们拥有的代码:

$webServer = new Ratchet\Server\IoServer(
    new Ratchet\Http\HttpServer(
        new Ratchet\WebSocket\WsServer(
            new Ratchet\Wamp\WampServer(
                $pusher
            )
        )
    ),
    new React\Socket\SecureServer(
        $webSock,
        $loop,
        array(
            'local_cert' => 'xxx',
            'allow_self_signed' => true,
            'verify_peer' => false,
            // Not sure what to put in ciphers ??
            'ciphers' => 'EECDH+AES:EDH+AES:-SHA1:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5:!RC4:!MEDIUM'
        )
    )
);

一些文章建议摆弄浏览器配置,但连接应该对所有访问者可用..(没有摆弄)

编辑:我们在错误的地方使用了 SecureServer,添加了带有更正代码的答案。

最佳答案

当列表 cipher suites 时会发生此错误服务器使用的条目与客户端或浏览器使用的条目没有相同的条目。我会看看你的'ciphers'行并确保正确列出套件,并且使用 modern suites可能在现代浏览器中可用。

关于密码套件的 OpenSSL 文档有一个 full list可用套房和 proper format用于指定它们。特别是,我发现明确列出套件比您当前的符号更容易,这使得很容易意外排除所有或大部分套件。您也可以只指定一个系列,例如 TLSv1.2在列表中。

关于php - React SecureServer 运行但在浏览器中抛出 SSL_ERROR_NO_CYPHER_OVERLAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47994565/

相关文章:

Websocket : Are Rachet & autobahn from npm compatible?

php - 我正在尝试将脉冲实现到 PHP Ratchet Websocket 应用程序中

php - 将文本字段中的新行保存到 mysql 字段

php - 无法使用 xpath 选择元素

c++ - OpenSSL库是否自动使用openssl.cnf

c++ - 使用 openssl 下载证书并将证书设置为 libCURL

php - Ratchet - IO 服务器突然停止工作

PHP mkdir - 抛出错误 "File exists"

php - 使用 Ajax 获得一组连续的 DB 派生单选按钮

c++ - OpenSSL:服务器无法验证客户端证书