前提・実現したいこと
socket.io を使用したSSL通信がしたいです。
サーバ側をnodejs でsocket.ioを使用したサーバを作成しています。
端末のio.connect でエラーになってしまいました。
(ブラウザはchromeを使用しました)
index.js:83 GET https://..co.jp:5089/socket.io/?EIO=3&transport=polling&t=N9FnIib net::ERR_SSL_PROTOCOL_ERROR
原因がわからず困っています。
「ERR_SSL_PROTOCOL_ERROR」ということなのですが、どう調べていいかわかりません。
このプロトコルが何を指しているのかも分かれば教えていただきたいです
SSL の SSLv、TLSのバージョンの事??
通信方式 の wss または xhr-poolling の事??
発生している問題・エラーメッセージ
Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
:5089/socket.io/?EIO=3&transport=polling&t=N9OvC57:1
:
index.js:83 GET https://..co.jp:5089/socket.io/?EIO=3&transport=polling&t=N9FnIib net::ERR_SSL_PROTOCOL_ERROR
該当のソースコード
nodejs
1var port = 5089; 2var fs = require('fs'); 3var io = require('socket.io').listen(port, { 4 key: fs.readFileSync('C:\HTTPS\XXX.pem').toString(), 5 cert: fs.readFileSync('C:\HTTPS\XXX.cer').toString(), 6 ca: fs.readFileSync('C:\HTTPS\XXX.txt').toString(), 7 'log level':1 8}); 9console.log('signaling server started on port:' + port); 10io.on('connection', function(socket) { 11 : 12 : 13
端末側のscriptは
let port = 5089;
let socket = io.connect('wss://..co.jp:' + port + '/');
のような感じです
試したこと
・最初に socket.io を使わずに Websocketの書き方でテストしていたときは
接続ができることを確認しました。
(なので証明書は問題ないと思います)
・次に、room機能が使用したかったため、socket.io の書き方にしたところ
このエラーとなりました
・端末側のconnectをhttpsにしてみましたが変わりませんでした。
let socket = io.connect('https://..co.jp:' + port + '/');
追記
以下に、実現したいサンプルが載っていたので試してみましたhttps://gist.github.com/kanreisa/1399446/d28a7e35df8860d4e6ab737b0f9fad77b0b482f3
サーバ起動時に
io.enable('browser client minification');
の命令で
TypeError: io.enable is not a function
エラーになりました
コメントにしてサーバ起動できたので、テストしたところ
結果が同じで、「ERR_SSL_PROTOCOL_ERROR」となりました。
(io.enable というのが関係するのかよくわかりません。)
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。