代码之家  ›  专栏  ›  技术社区  ›  Brainfeeder

React SecureServer运行但在浏览器中引发SSL\u ERROR\u NO\u CYPHER\u重叠

  •  1
  • Brainfeeder  · 技术社区  · 8 年前

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

    我们的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,添加了带有更正代码的答案。

    2 回复  |  直到 8 年前
        1
  •  1
  •   AfroThundr    8 年前

    cipher suites 服务器使用的条目与客户端或浏览器使用的条目没有共同之处。我想看看你的 'ciphers' 排成一行,确保正确列出套件,并使用 modern suites 可能在现代浏览器中可用。

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

        2
  •  1
  •   Brainfeeder    8 年前

    将React\Socket\SecureServer与Ratchet一起使用:

    // Set up secure React server
    $webSock = new React\Socket\SecureServer(
        new React\Socket\Server($loop),
        $loop,
        array(
            'local_cert' => 'xxxx/combined.pem',
            //'allow_self_signed' => true,
            'verify_peer' => false
        )
    );
    $webSock->listen(8080, '0.0.0.0'); // Binding to 0.0.0.0 means remotes can connect (127.0.0.1 || 0.0.0.0)
    
    // Ratchet magic
    $webServer = new Ratchet\Server\IoServer(
        new Ratchet\Http\HttpServer(
            new Ratchet\WebSocket\WsServer(
                new Ratchet\Wamp\WampServer(
                    $pusher
                )
            )
        ),
        $webSock
    );
    
    推荐文章