[解決済み] node.js、socket.ioのSSL化
2022-04-20 22:24:07
質問
SSL証明書を使ってsocket.ioを動作させようとしていますが、接続できません。
私はチャットの例から私のコードを基にしました。
var https = require('https');
var fs = require('fs');
/**
* Bootstrap app.
*/
var sys = require('sys')
require.paths.unshift(__dirname + '/../../lib/');
/**
* Module dependencies.
*/
var express = require('express')
, stylus = require('stylus')
, nib = require('nib')
, sio = require('socket.io');
/**
* App.
*/
var privateKey = fs.readFileSync('../key').toString();
var certificate = fs.readFileSync('../crt').toString();
var ca = fs.readFileSync('../intermediate.crt').toString();
var app = express.createServer({key:privateKey,cert:certificate,ca:ca });
/**
* App configuration.
*/
...
/**
* App routes.
*/
app.get('/', function (req, res) {
res.render('index', { layout: false });
});
/**
* App listen.
*/
app.listen(443, function () {
var addr = app.address();
console.log(' app listening on http://' + addr.address + ':' + addr.port);
});
/**
* Socket.IO server (single process only)
*/
var io = sio.listen(app,{key:privateKey,cert:certificate,ca:ca});
...
SSLコードを削除すると正常に実行されますが、SSLコードを使用すると、次のようなリクエストが発生します。 http://domain.com/socket.io/1/?t=1309967919512
httpsを試さないので、失敗することに注意してください。
このアプリケーションのターゲットブラウザであるため、クロームでテストしています。
node/socket.io初心者なので、素朴な疑問でしたら申し訳ありません。
ありがとうございます。
解決方法は?
最初の接続には安全な URL を使用します。つまり、"http://" の代わりに "https://" を使用します。WebSocket トランスポートを選択した場合、Socket.IO は自動的に WebSocket 接続にも "wss://" (SSL) を使用するはずです。
更新情報 :
また、「セキュア」オプションを使用して接続を作成してみることもできます。
var socket = io.connect('https://localhost', {secure: true});
関連
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] OpenSSLを使用して自己署名入りSSL証明書を生成する方法を教えてください。
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Node.jsでファイル/ディレクトリが存在するかどうかを同期的にチェックする
-
[解決済み] .keyと.crtファイルから.pemファイルを取得する方法は?
-
[解決済み] socket.ioとwebsocketの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Windows環境でPKIXパスがどのトラストアンカーとも連鎖しないエラーが発生する。
-
[解決済み] をカールします。(35) error:1408F10B:SSLルーチン:ssl3_get_record:バージョン番号が間違っています。
-
[解決済み] wget ssl alert ハンドシェイク失敗
-
[解決済み] .keyと.crtファイルから.pemファイルを取得する方法は?
-
[解決済み] .pemを.crtと.keyに変換する
-
[解決済み] node.js、socket.ioのSSL化
-
[解決済み] 不正な証明書でhttpsリクエストを行うには?
-
[解決済み] IISExpressでのSSL接続・接続解除について
-
[解決済み] Letsencryptが既存の証明書にドメインを追加する【非公開
-
[解決済み] SSL: エラー:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch