次の記事
前の記事

WebSocket設定方法

このサイトを作り出すプログラムはWebSocketによるリアルタイム通信でデータをやり取りしています。
サーバ側はrubyでクライアント側はjavascriptで対応しています。
ruby側の対応は以下の感じになります。

httpしか使わないとき
EM::WebSocket.start(:host => "i-co.jp", :port => ポート番号) do |ws|

httpsを使うとき
EM::WebSocket.start(:host => "i-co.jp", :port => ポート番号, :secure => true, :tls_options => {
                    :private_key_file => "/etc/httpd/ssl/key/*******.key",
                    :cert_chain_file =>  "/etc/httpd/ssl/cert/*******.crt"
                  }) do |ws|

こんな感じになります。
sslのkeyとcrtファイルについてはwebサーバのhttpsの設定を行った際に使ったものと同じものを使います。

javascript側では
new WebSocket("wss://i-co.jp:ポート番号/");

こんな感じで普段はws://**** になっているところをwss://*****に変更します。
これでhttpsを使って通信するようになります。サイト自体はhttpでも見えるので特に問題は発生しないと思います。
まあ、あとはhtmlで参照してるスクリプトがhttp://****だとエラーが出るのでhttpsで見えるところに置いておく必要があります。


コメント