這篇文章主要介紹了Nodejs如何搭建wss服務器,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
我們提供的服務有:成都網(wǎng)站設(shè)計、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、汨羅ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的汨羅網(wǎng)站制作公司
本文為大家分享了Nodejs搭建wss服務器的教程,供大家參考,具體內(nèi)容如下
首先使用OpenSSL創(chuàng)建自簽名證書:
#生成私鑰key文件 openssl genrsa 1024 > /path/to/private.pem // #通過私鑰文件生成CSR證書簽名 openssl req -new -key /path/to/private.pem -out csr.pem // #通過私鑰文件和CSR證書簽名生成證書文件 openssl x509 -req -days 365 -in csr.pem -signkey /path/to/private.pem -out /path/to/file.crt
使用ws模塊創(chuàng)建wss服務器:
var https=require('https'); var ws=require('ws'); var fs=require('fs'); var keypath=process.cwd()+'/server.key';//我把秘鑰文件放在運行命令的目錄下測試 var certpath=process.cwd()+'/server.crt';//console.log(keypath); //console.log(certpath); var options = { key: fs.readFileSync(keypath), cert: fs.readFileSync(certpath), passphrase:'1234'//如果秘鑰文件有密碼的話,用這個屬性設(shè)置密碼 }; var server=https.createServer(options, function (req, res) {//要是單純的https連接的話就會返回這個東西 res.writeHead(403);//403即可 res.end("This is a WebSockets server!\n"); }).listen(15449); var wss = new ws.Server( { server: server } );//把創(chuàng)建好的https服務器丟進websocket的創(chuàng)建函數(shù)里,ws會用這個服務器來創(chuàng)建wss服務 //同樣,如果丟進去的是個http服務的話那么創(chuàng)建出來的還是無加密的ws服務 wss.on( 'connection', function ( wsConnect ) { wsConnect.on( 'message', function ( message ) { console.log( message ); }); });
客戶端鏈接:
var ws = new WebSocket('wss://localhost:15449/', { protocolVersion: 8, origin: 'https://localhost:15449', rejectUnauthorized: false //重要,自簽名證書只能這樣設(shè)了。CA頒發(fā)的受信任證書就不需要了 });
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Nodejs如何搭建wss服務器”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
名稱欄目:Nodejs如何搭建wss服務器
當前網(wǎng)址:http://chinadenli.net/article34/iegipe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、關(guān)鍵詞優(yōu)化、面包屑導航、搜索引擎優(yōu)化、、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)