国产探花免费观看_亚洲丰满少妇自慰呻吟_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用的簽名算法安全級別不夠)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 鸡西市| 共和县| 湘潭县| 桐乡市| 化德县| 天祝| 日照市| 延安市| 宁南县| 鲁甸县| 灵寿县| 肥东县| 乌拉特后旗| 平潭县| 吉林省| 南和县| 北海市| 台前县| 长兴县| 衡阳市| 灵川县| 汕头市| 江津市| 龙井市| 河间市| 宝应县| 兰坪| 广宗县| 海林市| 晋城| 长治县| 历史| 彝良县| 上犹县| 铜梁县| 民丰县| 太谷县| 嘉善县| 太谷县| 镇坪县| 临城县|