運用nodejs搭建HTTPS server

From 我的簡書

第一步:建立一個項目目次,npm init初始化項目后,裝置express。

npm install express --save

第二步:新建http.js文件,初始代碼以下。

var express = require("express");
var app = express();
var fs = require('fs');

第三步:運用openssl 天生自署名證書(免費,當地測試運用),這裡有兩個步驟:

天生Private Key 和 CSR。

openssl req -new -newkey rsa:2048 -nodes -out mydomain.csr -keyout private.key

利用上一步天生的private.key和mydomain.csr天生自署名證書。

openssl x509 -req -days 365 -in mydomain.csr -signkey private.key -out mydomain.crt

第四步: 完美http.js。

var express = require("express");
var app = express();
var fs = require('fs');


var key = fs.readFileSync('private.key');
var cert = fs.readFileSync('mydomain.crt');

var options = {
    key: key,
    cert: cert
};
// Run static server
var https = require('https');
https.createServer(options, app).listen(8888); 

到此基本就功德圓滿了,在項目目次里寫一個index.html, 末了在項目目次下run:

node http.js
末了翻開瀏覽器,地址欄輸入https://localhost:8888后瀏覽器會顯現你的銜接不安全
點擊advance, 直接proceed就好了(chrome)。
若點擊地址欄的感嘆號,便可在彈出框中能夠檢察證書,以下:

SSL證書
偷了下懶,直接用了web performance in action這本書第一章節的代碼來改成一個
https銜接。有須要的能夠看看code on git。

參考資料:
https://medium.com/@nileshsin…
https://www.akadia.com/servic…

轉載請說明出處!

    原文作者:ylzsmallsun
    原文地址: https://segmentfault.com/a/1190000015150714
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞