使用nodejs搭建HTTPS server

From 個人簡書html

第一步:建立一個項目目錄,npm init初始化項目後,安裝express。node

npm install express --save

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

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

第三步:使用openssl 生成自簽名證書(免費,本地測試使用),這裏有兩個步驟:web

生成Private Key 和 CSR。chrome

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

利用上一步生成的private.key和mydomain.csr生成自簽名證書。express

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

第四步: 完善http.js。npm

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。app

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

轉載請註明出處!

相關文章
相關標籤/搜索