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