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