nodejs開發——express配置自簽名https伺服器
在nodejs中使用express來搭建框架可以說是非常的簡單方便,但是一般預設建立的都是http伺服器,也就是隻能通過http協議進行訪問。如今https已經是發展趨勢,我們應該順應時代的潮流。在本篇文章中,我們將會來使用自簽名的方式建立證書,然後使用express框架來搭建https伺服器,最後讓瀏覽器或者客戶端使用https協議進行訪問。
首先我們要生成證書檔案:
(1)生成私鑰key檔案(下面的pathway表示你要儲存的檔案路徑位置)
openssl genrsa 1024 > /pathway/private.pem
(2)通過上面生成的私鑰檔案生成CSR證書籤名
(3)通過上述私鑰檔案和CSR證書籤名生成證書檔案openssl req -new -key /pathway/private.pem -out csr.pem
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訪問:
相關推薦
nodejs開發——express配置自簽名https伺服器
在nodejs中使用express來搭建框架可以說是非常的簡單方便,但是一般預設建立的都是http伺服器,也就是隻能通過http協議進行訪問。如今https已經是發展趨勢,我們應該順應時代的潮流。在本篇文章中,我們將會來使用自簽名的方式建立證書,然後使用expr
Tomcat配置自簽名https
從JDK中找到keytool.exe,隨便複製到一個方便的目錄,在命令列中進入這個目錄。 第一步:為伺服器生成證書 tomcat.keystore,名字就是域名,其他的看著寫。 keytool -genkey -v -alias tomcat -keyalg R
nodejs中微信公眾號開發-介面配置和簽名驗證
意外金喜的部落格 : http://blog.csdn.net/zzwwjjdj1 -- 建立專案 nodejs微信開發,本文介紹的是在express中使用 express命令列建立專案 :點選這裡, 建立專案 : weixin_ex
通過Authentication Challenge來信任自簽名Https證書
就會 ace 中一 rust 進行 tostring 網絡相關 alt policy 在開發階段我們我們經常使用自簽名的證書來部署我們的後臺rest api。但是在iOS中調用的時候就會因為證書不被信任而調用api不成功。這時候我們就需要通過實現某些網絡回調函數來自定義證書
win7系統下的Nodejs開發環境配置
此處不推薦使用msi安裝包直接安裝nodejs,我們應該知道它裡面做了哪些事情,這樣以後出問題的時候,可以更快速地定位問題點。另一方面,直接安裝的情況,以後更新了版本的話會很麻煩,因為如果我們想體驗新版本,而更新後新版本有問題需要回退舊的版本,到時候就頭痛了。這裡我們推薦NV
nginx 配置自簽名的ssl證書
最近要搭一個https的測試環境,使用nginx做反向代理。 網上找過不少資料,但過程不是很完整,吃了不少虧,故把自己的操作過程總結下來。如果你剛好遇到這個問題,希望對你有幫助! ********************************分割線*********
微信小程式開發(6) SSL證書及HTTPS伺服器
1. 域名 在萬網購買,略 2. 雲伺服器 阿里雲購買,略 3. 安裝lnmp 使用lnmp.org程式,略 4. 申請證書 阿里雲-管理控制檯-安全(雲盾)-證書服務-購買證書證書型別: 免費型DV SSL選擇品牌: Symantec 購買成功後,繫結域名,配置DNS解析
HTTPS(一)自簽名https
1、準備一個空白的CentOS 檢視系統版本 $ su # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 2、安裝RoR環境 參照《CentOS 7 快速安裝RoR環境 》 安裝結果:
配置Apache成為HTTPS伺服器
環境: ubutnu 17.10 apache2 php5.0 使能SSL模組: 命令:a2enmod ssl 新增conf檔 命令:cp /etc/apache2/sites-available/default-ssl.conf /etc/
基於HttpClient 4.3的可訪問自簽名HTTPS站點的新版工具類
本文出處:http://blog.csdn.net/chaijunkun/article/details/40145685,轉載請註明。由於本人不定期會整理相關博文,會對相應內容作出完善。因此強烈建議在原始出處檢視此文。HttpClient在當今Java應用中的位置越來越重要
webstorm+nodejs開發環境配置(1)
安裝這裡就不再寫了. 2.檢測node是否已經安裝好 出現node的版本,說明node已經安裝成功 3.下一步,在webstorm中配置node file>setting 在搜尋框中輸入node 配置Node interpreter,找到
Nginx配置自簽名ssl
Nginx ("engine x") 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。 實驗環境:ubuntu14.04(阿里雲伺服器) 首先安裝Nginx:apt-get install nginx-full(如果沒有的話,使用命令
springboot開發之配置自定義的錯誤介面和錯誤資訊
如何定製錯誤頁面? (1)在有模板引擎的情況下:在templates資料夾下的error/狀態碼;即將錯誤頁面命名為:錯誤狀態碼.html放在templates資料夾裡面的error資料夾下,發生此狀態碼的錯誤會來到對應的頁面。 頁面可以獲得的資訊: timestamp:時間 status:狀態碼 error
Nginx 配置 HTTPS自簽名證書
sta num web oca pos sof AI bsp OS 工具:OpenSSL ssl的開源實現,幾乎實現了市面上所有的加密libcrypto: 通用加密庫, 任何軟件要實現加密功能 鏈接調用這個庫libssl: TLS/SSL 加密庫 openssl:
tomcat配置https自簽名證書(keytool生成)
pri list tin led str orm unit lock pass tomcat配置https自簽名證書(keytool生成) 生成keystore keytool -genkeypair -alias "server" -keyalg &
Android開發 - Retrofit 2 使用自簽名的HTTPS證書進行API請求
為了確保資料傳輸的安全,現在越來越多的應用使用Https的方式來進行資料傳輸,使用https有很多有點,比如: HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,要比http協議安全,可防止資料在傳輸過程中不被竊取、改變,確保資料的完整性。 HTTPS是現行架構下最安
Nginx配置https並自簽名證書
曾經iOS 為安全起見要求所有請求必須https,記錄專案中配置https過程。 # 生成一個RSA金鑰 openssl genrsa -des3 -out xgj.key 1024 # 拷貝一個不需要輸入密碼的金鑰檔案 openssl rsa -in xgj.key -out xg
nodejs用阿里雲ssl配置Https伺服器
var https = require('https'); var privateKey = fs.readFileSync('./path/to/215083744800064.key', 'u
tomcat配置https自簽名證書
一、環境搭建 安裝jdk: 略安裝tomcat : 略配置java環境變數:略執行測試tomcat:略安裝vcredist_x86:這個的東西是安裝openssl的環境,安裝oenssl前需安裝此環境。安裝openssL:a網上搜索Win32OpenSSL-1_0_1g.e