2017-09-04 12 views
0

localhostのwssに接続できません。私は電子のアプリを実行していますlocalhostの電子アプリのWebSocketオープンハンドシェイクがキャンセルされました

const server = https.createServer({ 
    cert: fs.readFileSync('./cert.pem'), 
    key: fs.readFileSync('./key.pem'), 
    passphrase: 'ledtesting' 
}); 

const wss = new WebSocket.Server({ server }); 

server.listen(8000, 'localhost',function listening() { 
    console.log(server.address().port); 
    const ws = new WebSocket(`wss://localhost:${server.address().port}`, { 
    rejectUnauthorized: false 
    }); 
}); 

WSSサーバーを開始し、このWebソケットサーバーに接続するためのウェブページを持っている

は私が

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 

使用して本命を作成しました:私は次のセットアップを持っています

var localsockUrl = "wss://localhost:8000/"; 
var localsocket = new WebSocket(localsockUrl); 

次のエラーが表示されます。

connection to 'wss://localhost:8000/' failed: WebSocket opening handshake was canceled 

電子アプリケーションでlocalhostのwssにアクセスするにはどうすればよいですか?電子アプリの設定で

+0

?プレーンなhttpサーバと 'ws:// locahost:8000'のURL?もしそうなら、あなたはおそらくhttpsセットアップの問題(信頼できない証明書か何らかの認証問題のいずれか)があると結論づけることができます。そうでない場合、問題は暗号化された接続なしでデバッグするのが簡単になり、Chromeデバッガのネットワークトレースを見て、そこから何を学ぶことができるかを見ることができます。 – jfriend00

+0

自己署名入りの証明書を使用しているので、wss://でwss://に接続できます。この問題が発生しています。自己署名証明書を受け入れる方法はありますか? –

+0

私はwscatを使ってデバッグしましたが、これは私が得るエラーです:エラー:エラー:自己署名入りの証明書 –

答えて

0

、次の方法で証明書エラーを無視することができます:あなたは非暗号化接続をしようとすると、それが機能してい

app.commandLine.appendSwitch("ignore-certificate-errors"); 
関連する問題