• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    nodejs express配置自簽名https服務器的方法

    來源:懂視網 責編:小采 時間:2020-11-27 22:14:11
    文檔

    nodejs express配置自簽名https服務器的方法

    nodejs express配置自簽名https服務器的方法:在nodejs中使用express來搭建框架可以說是非常的簡單方便,但是一般默認創建的都是http服務器,也就是只能通過http協議進行訪問。如今https已經是發展趨勢,我們應該順應時代的潮流。在本篇文章中,我們將會來使用自簽名的方式創建證書,然后使用expres
    推薦度:
    導讀nodejs express配置自簽名https服務器的方法:在nodejs中使用express來搭建框架可以說是非常的簡單方便,但是一般默認創建的都是http服務器,也就是只能通過http協議進行訪問。如今https已經是發展趨勢,我們應該順應時代的潮流。在本篇文章中,我們將會來使用自簽名的方式創建證書,然后使用expres

    在nodejs中使用express來搭建框架可以說是非常的簡單方便,但是一般默認創建的都是http服務器,也就是只能通過http協議進行訪問。如今https已經是發展趨勢,我們應該順應時代的潮流。在本篇文章中,我們將會來使用自簽名的方式創建證書,然后使用express框架來搭建https服務器,最后讓瀏覽器或者客戶端使用https協議進行訪問。

    首先我們要生成證書文件:

    (1)生成私鑰key文件(下面的pathway表示你要保存的文件路徑位置)
     

    openssl genrsa 1024 > /pathway/private.pem

    (2)通過上面生成的私鑰文件生成CSR證書簽名

     openssl req -new -key /pathway/private.pem -out csr.pem 

    (3)通過上述私鑰文件和CSR證書簽名生成證書文件

    代碼如下:openssl x509 -req -days 365 -in csr.pem -signkey /pathway/private.pem -out /pathway/file.crt 

    此時生成的三個文件如下:

    此時把這三個文件拷貝到你的nodejs項目目錄下,比如我直接在項目根目錄下新建certificate文件夾,然后放入三個文件:

     完成以上步驟后,修改項目的啟動文件,我這里的啟動文件是app.js,或者有人是server.js,以下代碼實現都一樣:

    var express = require('express'); // 項目服務端使用express框架 
    var app = express(); 
    var path = require('path'); 
    var fs = require('fs'); 
     
    //使用nodejs自帶的http、https模塊 
    var http = require('http'); 
    var https = require('https'); 
     
    //根據項目的路徑導入生成的證書文件 
    var privateKey = fs.readFileSync(path.join(__dirname, './certificate/private.pem'), 'utf8'); 
    var certificate = fs.readFileSync(path.join(__dirname, './certificate/file.crt'), 'utf8'); 
    var credentials = {key: privateKey, cert: certificate}; 
     
    var httpServer = http.createServer(app); 
    var httpsServer = https.createServer(credentials, app); 
     
    //可以分別設置http、https的訪問端口號 
    var PORT = 8000; 
    var SSLPORT = 8001; 
     
    //創建http服務器 
    httpServer.listen(PORT, function() { 
     console.log('HTTP Server is running on: http://localhost:%s', PORT); 
    }); 
     
    //創建https服務器 
    httpsServer.listen(SSLPORT, function() { 
     console.log('HTTPS Server is running on: https://localhost:%s', SSLPORT); 
    }); 
     
    //可以根據請求判斷是http還是https 
    app.get('/', function (req, res) { 
     if(req.protocol === 'https') { 
     res.status(200).send('This is https visit!'); 
     } 
     else { 
     res.status(200).send('This is http visit!'); 
     } 
    }); 
    
    

    代碼實現完成后,啟動app.js腳本,可以使用"node app.js"命令來啟動,或者在其他IDE中run, 然后在瀏覽器中訪問(注意express不是系統內置模塊,需要通過npm安裝):

    http訪問:

    https訪問:

    可以看到我們已經成功使用https來訪問我們的服務器,但是Chrome瀏覽器卻顯示紅色的Not Secure,這是因為這個證書是我們自建的,沒有經過第三方機構驗證,所以會出現警告的提示。后續博客我們會介紹如何申請經過認證的證書。

    在Chrome瀏覽器中打開開發者模式,在安全Security頁中可以看到當前頁面的證書信息,如下所示:

         

    點擊“View certificate”則可以看到證書的詳情:

    展開detail則可以看到我們創建證書的時候輸入的各項證書信息。

    同時我們也可以使用Postman來模擬客戶端請求(實際開發中,服務端同學可以把證書發給客戶端同學,經過簡單配置就能實現https通信了):

    http請求:

    https請求:

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    nodejs express配置自簽名https服務器的方法

    nodejs express配置自簽名https服務器的方法:在nodejs中使用express來搭建框架可以說是非常的簡單方便,但是一般默認創建的都是http服務器,也就是只能通過http協議進行訪問。如今https已經是發展趨勢,我們應該順應時代的潮流。在本篇文章中,我們將會來使用自簽名的方式創建證書,然后使用expres
    推薦度:
    標簽: js 服務器 https
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 色婷婷在线精品国自产拍| 国产精品自在线拍国产电影| 亚洲愉拍自拍欧美精品| 少妇人妻无码精品视频| 久久久久人妻一区精品果冻| 亚洲国产成人精品不卡青青草原| 精品熟女少妇av免费久久| 久久亚洲中文字幕精品一区| 国产69精品久久久久99| 91精品啪在线观看国产| 亚洲AV无码精品色午夜在线观看| 精品久久久久久久久久久久久久久| 久久久久国产精品| 丰满人妻熟妇乱又仑精品| 久久久免费精品re6| 亚洲国产一成人久久精品| 亚洲国产av无码精品| 久久精品无码一区二区三区免费| 国产精品亚洲产品一区二区三区| 97久视频精品视频在线老司机| 国产精品欧美亚洲韩国日本不卡| 亚洲精品第一国产综合境外资源| 欧美精品成人3d在线| 精品国产不卡一区二区三区| 国产高清精品一区| 777被窝午夜精品影院| 国内精品久久九九国产精品| 国产成人精品无码片区在线观看| 久久国产免费观看精品3| 久久久无码人妻精品无码| 伊人 久久 精品| 在线观看日韩精品| 欧美精品亚洲精品日韩1818| 99精品免费视频| 91麻豆精品国产自产在线观看一区| 国产精品免费大片| 2020国产精品| 精品九九久久国内精品| 亚洲精品一二区| 97精品国产福利一区二区三区| 国产乱人伦偷精品视频免观看|