国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Node.js進階之核心模塊https入門

2024-05-06 15:33:57
字體:
來源:轉載
供稿:網友

模塊概覽

這個模塊的重要性,基本不用強調了。在網絡安全問題日益嚴峻的今天,網站采用HTTPS是個必然的趨勢。

在nodejs中,提供了 https 這個模塊來完成 HTTPS 相關功能。從官方文檔來看,跟 http 模塊用法非常相似。

本文主要包含兩部分:

    通過客戶端、服務端的例子,對https模塊進行入門講解。 如何訪問安全證書不受信任的網站。(以 12306 為例子)

篇幅所限,本文無法對 HTTPS協議 及 相關技術體系 做過多講解,有問題歡迎留言交流。

客戶端例子

跟http模塊的用法非常像,只不過請求的地址是https協議的而已,代碼如下:

var https = require('https');https.get('https://www.baidu.com', function(res){  console.log('status code: ' + res.statusCode);  console.log('headers: ' + res.headers);  res.on('data', function(data){    process.stdout.write(data);  });}).on('error', function(err){  console.error(err);});

服務端例子

對外提供HTTPS服務,需要有HTTPS證書。如果你已經有了HTTPS證書,那么可以跳過證書生成的環節。如果沒有,可以參考如下步驟

生成證書

1、創建個目錄存放證書。

mkdir certcd cert

2、生成私鑰。

openssl genrsa -out chyingp-key.pem 2048

3、生成證書簽名請求(csr是 Certificate Signing Request的意思)。

openssl req -new / -sha256 -key chyingp-key.key.pem / -out chyingp-csr.pem / -subj "/C=CN/ST=Guandong/L=Shenzhen/O=YH Inc/CN=www.chyingp.com"

4、生成證書。

openssl x509 / -req -in chyingp-csr.pem / -signkey chyingp-key.pem / -out chyingp-cert.pem

HTTPS服務端

代碼如下:

var https = require('https');var fs = require('fs');var options = {  key: fs.readFileSync('./cert/chyingp-key.pem'), // 私鑰  cert: fs.readFileSync('./cert/chyingp-cert.pem') // 證書};var server = https.createServer(options, function(req, res){  res.end('這是來自HTTPS服務器的返回');});server.listen(3000);

由于我并沒有 www.chyingp.com 這個域名,于是先配置本地host

127.0.0.1 www.chyingp.com

啟動服務,并在瀏覽器里訪問 http://www.chyingp.com:3000 。注意,瀏覽器會提示你證書不可靠,點擊 信任并繼續訪問 就行了。

進階例子:訪問安全證書不受信任的網站

這里以我們最喜愛的12306最為例子。當我們通過瀏覽器,訪問12306的購票頁面 https://kyfw.12306.cn/otn/regist/init 時,chrome會阻止我們訪問,這是因為,12306的證書是自己頒發的,chrome無法確認他的安全性。

對這種情況,可以有如下處理方式:

    停止訪問:著急搶票回家過年的老鄉表示無法接受。 無視安全警告,繼續訪問:大部分情況下,瀏覽器是會放行的,不過安全提示還在。 導入12306的CA根證書:瀏覽器乖乖就范,認為訪問是安全的。(實際上還是有安全提示,因為12306用的簽名算法安全級別不夠)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 托里县| 昌邑市| 永兴县| 庄浪县| 永和县| 台州市| 乌海市| 怀仁县| 三江| 德钦县| 东海县| 共和县| 东阿县| 临漳县| 鱼台县| 新巴尔虎右旗| 镇平县| 余干县| 温州市| 临江市| 武定县| 诸城市| 治多县| 东阿县| 丰原市| 汉寿县| 延川县| 和田市| 金堂县| 昭觉县| 茂名市| 长乐市| 屏东县| 琼海市| 泌阳县| 渝中区| 杨浦区| 仁布县| 峡江县| 海南省| 南皮县|