PHP Ratchet での SSL による安全な WebSocket 接続
WebSocket 接続を確立するときは、SSL 暗号化を使用してセキュリティを確保することが重要です。 PHP Ratchet チャット サーバーに SSL を実装する方法は次のとおりです。
Ratchet チャット サーバー ファイルで、次の変更を加えます。
<code class="php">use Ratchet\Server\IoServerFactory; use Ratchet\Server\WebSocketServer; use MyAppChat\Chat; use Ratchet\Transport\WsMessageComponentInterface; use Ratchet\WebSocket\WsServerInterface; // Ensure the presence of required modules if (!extension_loaded('openssl')) { throw new RuntimeException('The OpenSSL extension is required.'); } // Define your custom components class MyWebSocketHandler implements WsMessageComponentInterface { // ... Implementation of the WebSocket methods } // Create SSL context $context = stream_context_create(); stream_context_set_option($context, 'ssl', 'local_cert', 'path/to/your.pem'); stream_context_set_option($context, 'ssl', 'local_pk', 'path/to/your.key'); stream_context_set_option($context, 'ssl', 'passphrase', 'password'); // Factory style creation of the WebSocket Server with custom handlers and SSL context $server = IoServerFactory::create( new WebSocketServer( new Chat() ), 26666, $loop, $context );</code>
JavaScript クライアント コードで、「ws」を次のように置き換えます。安全な接続を開始するための「wss」:
<code class="javascript">if ("WebSocket" in window) { var ws = new WebSocket("wss://ratchet.mydomain.org:8888"); // Rest of the code remains the same }</code>
注: SSL 接続が正常に機能するように、SSL 証明書と秘密キーが適切に構成されていることを確認してください。
以上がPHP Ratchet で SSL を使用して安全な WebSocket 接続を確立するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。