大家好,我會(huì)教你使用SSL證書(shū)的Node.js應(yīng)用程序的基本設(shè)置。因此,我們將使用它OpenSSL,因此,應(yīng)用程序使用Express和Nodemon。
你們都必須知道或聽(tīng)說(shuō)過(guò)術(shù)語(yǔ)“HTTPS”是的,這是為了驗(yàn)證這個(gè)網(wǎng)站是安全的還是可以瀏覽的。但你有沒(méi)有想過(guò)是什么讓它安全可靠?所以,在這里我將指導(dǎo)你如何使你的網(wǎng)站更安全。這只會(huì)讓你知道它是什么,請(qǐng)不要在生產(chǎn)環(huán)境中使用它OpenSSL。
在深入研究示例之前,讓我們先了解一些術(shù)語(yǔ),這樣每次都不用通過(guò)百度搜索某些內(nèi)容。
SSL→Secure Socket Layer,這是TLS(Transport Layer Security)前身無(wú)非是為網(wǎng)絡(luò)安全通信設(shè)計(jì)的加密協(xié)議。
HTTPS→HypertextTransferProtocolSecure是HTTP擴(kuò)展或混合版本應(yīng)用,即“HTTP”和“SSL/TLS”因此,一個(gè)新的協(xié)議誕生了,被命名為HTTPS。
這是你需要使用的先決條件:
節(jié)點(diǎn).js
OpenSSL(假如你是Linux和Mac客戶(hù)不用擔(dān)心這個(gè))
節(jié)點(diǎn)快遞
節(jié)點(diǎn)精靈
Git(僅用于復(fù)制git庫(kù)房)
好吧,我已經(jīng)在了AWSEC這個(gè)案例在2案中實(shí)現(xiàn)了(我已經(jīng)免費(fèi)了)EC這個(gè)案例已經(jīng)完成了)你也可以免費(fèi)做同樣的事情。
那么,為了獲得證書(shū),只需遵循以下三個(gè)步驟:
生成私鑰
使用私鑰建立CSR(證書(shū)簽名請(qǐng)求)
從CSR生成SSL證書(shū)。
是的,它看起來(lái)和它一樣簡(jiǎn)單。
為最佳實(shí)踐,我們將創(chuàng)建一個(gè)文件夾,然后將所有內(nèi)容放入文件夾中,例如,一旦您將項(xiàng)目放入項(xiàng)目gitclone到你的本地電腦或者你的EC在2例中,它應(yīng)具體如下,
歸功於NarendiranKrishnan本身
好吧,請(qǐng)不要試著用我的.pem另外,我刪除了文件cert文件夾和node_modules所有的文檔,它不會(huì)在那里,因?yàn)樗械囊蕾?lài)項(xiàng)都會(huì)被刪除,我們將從頭開(kāi)始建立在這里,你可以使用這個(gè)結(jié)構(gòu)作為參考。
假如你沒(méi)有復(fù)制我的gitrepo,然后只需按以下具體建立目錄:
ssl_
ssl_→證書(shū)(在ssl_內(nèi))
讓我們只注意建立證書(shū)和密鑰,然后去節(jié)點(diǎn)。
步驟1:
移到證書(shū)文檔,然后您需要提交以下指令:
Openssl{生成RSA}{導(dǎo)出}{擴(kuò)展名稱(chēng).pem導(dǎo)出文件名稱(chēng)}
代碼是:
openssl genrsa -out key.pem
給出此指令后,您應(yīng)該看到以下導(dǎo)出:
生成你的RSA
第2步
檢查步驟1后的代碼結(jié)構(gòu):
Openssl{新CSR登錄請(qǐng)求}-key{我們剛剛生成}{keyname}-out{導(dǎo)出證書(shū)簽名請(qǐng)求}name{namewith.pemextension}
下一個(gè)指令如下:
opensslreq-new-keykey.pem-outcsr.pem
發(fā)出此指令后,您應(yīng)看到以下問(wèn)題,請(qǐng)?zhí)峁┠脑敿?xì)信息,而不是我的:
生成csr.pem
第3步:
第二步完成后,剩下的就是用私鑰建立的CSR建立SSL證書(shū)。
在進(jìn)入代碼之前,我們應(yīng)該了解公鑰標(biāo)準(zhǔn),
X509→定義公證書(shū)格式,X.509證書(shū)多用Internet協(xié)議,包含TLS/SSL,這是HTTPS的基礎(chǔ),HTTPS還使用離線(xiàn)應(yīng)用程序,如電子簽名。
現(xiàn)在讓我們來(lái)看看代碼結(jié)構(gòu):
Openssl{公鑰標(biāo)準(zhǔn)}{請(qǐng)求}{證書(shū)有效天數(shù)}csr.pem(在我們的例子中){signkey}{我們?cè)诓襟E1中產(chǎn)生的密鑰}key.pem(在每個(gè)人的例子中){導(dǎo)出}{擴(kuò)展名稱(chēng).pem的文件名}
具體代碼如下,
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem
建立SSL證書(shū)
假如到目前為止你還沒(méi)有出錯(cuò),那么你已經(jīng)正確地關(guān)注了我的博客。
是的,現(xiàn)在是勝利的時(shí)候了,因?yàn)槟阋呀?jīng)爬了一半的井。
剩下的就是建立Node.js應(yīng)用程序并代管它EC在服務(wù)器案例中。
假如你剛復(fù)制了我的git所以我已經(jīng)提供了關(guān)于如何從我這里來(lái)的東西git應(yīng)用程序的詳細(xì)信息序的詳細(xì)信息,只需按其操作,不要按這些說(shuō)明操作,因?yàn)槲覐念^開(kāi)始。
首先,我們應(yīng)該在那里ssl_進(jìn)行文件夾npm初始化,并根據(jù)您的想法提供以下指令并填寫(xiě)詳細(xì)信息,
npm初始化
現(xiàn)在完成后,需要安裝依賴(lài)項(xiàng),如nodeexpress和nodemon
代碼如下。
npm我nodemon
或是
npmi-gnodemon
完成此操作后,您需要建立它package.json文件中有以下變更,具體如下,
包.json
在這里,您可以獨(dú)立更改腳本。
完成依賴(lài)項(xiàng)后,我建立了一個(gè)server.js具體文件如下
服務(wù)器.js
完成代碼后,開(kāi)始在終端中運(yùn)行代碼,具體如下,
代碼是
npm開(kāi)始
或是
nodemonserver.js
或是
節(jié)點(diǎn)服務(wù)器.js
好吧,它真的停在這里,為了驗(yàn)證它,你需要瀏覽當(dāng)?shù)氐闹鳈C(jī)并驗(yàn)證它。
“http://localhost:3030”
以下錯(cuò)誤將被拋出,
錯(cuò)誤
如今試著對(duì)“https://localhost:3030”同樣的操作,您將收到以下錯(cuò)誤。
https://本地主機(jī):3030
你可以在這里看到Firefox不允許你,但你可以同時(shí)接受風(fēng)險(xiǎn)并繼續(xù),或者如果你仍然不滿(mǎn)意,你可以檢查證書(shū)并自己驗(yàn)證。這將為您提供有效性、公鑰信息(即算法和密鑰尺寸)和指紋(即SHA-256和SHA-1詳情)詳情。
聲明本文內(nèi)容來(lái)自網(wǎng)絡(luò),若涉及侵權(quán),請(qǐng)聯(lián)系我們刪除! 投稿需知:請(qǐng)以word形式發(fā)送至郵箱[email protected]
呵,弄來(lái)弄去是忽悠人的。。這些人真能弄。。。