Php 将SSL与Let';sEncrypt证书,使用共享Dreamhost Apache服务器,用于带有Ratchet的React SecureServer
我当前收到一个错误:Php 将SSL与Let';sEncrypt证书,使用共享Dreamhost Apache服务器,用于带有Ratchet的React SecureServer,php,html,reactjs,ssl,ssl-certificate,Php,Html,Reactjs,Ssl,Ssl Certificate,我当前收到一个错误: ERR_SSL_VERSION_OR_CIPHER_MISMATCH 尝试连接到安全服务器时。 我使用的是Dreamhost共享托管服务器计划,我的签名证书由LetsEncrypt提供。我可以通过Dreamhost的web门户访问我的站点的证书、RSA私钥和中间证书的原始文本。我将这些文件复制到与chat-server.php脚本相同的目录中,因此我的文件树如下所示: mydomain.com: chat.php bin: | | chat-server.php | |
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
尝试连接到安全服务器时。
我使用的是Dreamhost共享托管服务器计划,我的签名证书由LetsEncrypt提供。我可以通过Dreamhost的web门户访问我的站点的证书、RSA私钥和中间证书的原始文本。我将这些文件复制到与chat-server.php脚本相同的目录中,因此我的文件树如下所示: mydomain.com:
chat.php
bin:
| | chat-server.php
| | public.pem//包含从Dreamhost复制的证书文本
| | key.pem//包含从Dreamhost复制的私钥文本
其中chat.php是为客户端实例化websocket的文件 下面是chat-server.php:
<?php
require dirname(__DIR__) . '/vendor/autoload.php';
$app = new \Ratchet\Http\HttpServer(
new \Ratchet\WebSocket\WsServer(
new \MyApp\Chat()
)
);
$loop = \React\EventLoop\Factory::create();
$certs = openssl_get_cert_locations();
$secure_websockets = new \React\Socket\Server('0.0.0.0:8080', $loop);
$secure_websockets = new \React\Socket\SecureServer($secure_websockets, $loop, [
'local_cert' => "public.pem",
'local_pk' => "key.pem"
]);
$secure_websockets_server = new \Ratchet\Server\IoServer($app, $secure_websockets, $loop);
$secure_websockets_server->run();