溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nginx中怎么配置https證書

發(fā)布時間:2021-07-13 10:55:31 來源:億速云 閱讀:190 作者:Leah 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)nginx中怎么配置https證書,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

首先我們來回顧一下https的原理,首先我們看圖:

nginx中怎么配置https證書

第一步、客戶端發(fā)送請求,服務(wù)器證書發(fā)送給客戶端,證書的本質(zhì)是第三方CA的私鑰加密的內(nèi)容,其內(nèi)容是服務(wù)器的公鑰。

第二步、客戶端接收到證書后,用操作系統(tǒng)和瀏覽器內(nèi)置的CA公鑰去匹配驗證證書,如果能解密,說明請求的是目標網(wǎng)站,不是中間人。

第三步、用CA公鑰解密證書,并將服務(wù)器公鑰解密出來。到這一步,客戶端安全的拿到了服務(wù)器端的公鑰。

第四步、生成隨機數(shù),用服務(wù)器公鑰加密隨機數(shù)發(fā)送到服務(wù)器端。

第五步、服務(wù)器端用服務(wù)器私鑰解密信息,得到隨機數(shù)

我們仔細閱讀上面的流程,我們將客戶端和服務(wù)器端用到的工具分一下類:

客戶端用到的如下:

1、CA機構(gòu)的公鑰:已經(jīng)內(nèi)置到系統(tǒng)中不需要處理

2、公鑰證書:服務(wù)器端發(fā)送給客戶端的,客戶端會自動用CA公鑰解密證書

3、服務(wù)器公鑰:客戶端用CA公鑰解密證書獲得

4、隨機數(shù)生成對稱秘鑰:自動生成

服務(wù)器端:

1、公鑰證書 需要去申請

2、服務(wù)器端私鑰 需要服務(wù)端手動生成

客戶端需要的工具不需要我們配置,主要是服務(wù)器端的工具,我們看到服務(wù)器端需要公鑰證書和服務(wù)器端私鑰,這兩個東西如何來的呢?

首先我們在服務(wù)器端用ssh-keygen命令來生成公私鑰,在服務(wù)器端命令行中執(zhí)行,ssh-keygen會在服務(wù)器的"~/.ssh"目錄中生成兩個文件 id_rsa,id_rsa.pub,前者不帶pub后綴的為私鑰,后者帶pub后綴的為公鑰。

得到了服務(wù)器端的公鑰和私鑰后,我們需要用服務(wù)器端的公鑰去申請證書,這里大家如果是去向一些收費的CA機構(gòu)申請證書的話,CA機構(gòu)的客服一般會想你要你的服務(wù)器公鑰和你的網(wǎng)站信息,然后CA機構(gòu)用CA機構(gòu)的私鑰加密你的服務(wù)器公鑰得到公鑰證書,然后CA機構(gòu)會將公鑰證書頒發(fā)給你。

經(jīng)過上面兩部操作我們就會得到公鑰證書和服務(wù)的私鑰,拿到這兩個文件我們可以使用配置https協(xié)議的網(wǎng)站了。

這里要說明一下,我們向有些CA機構(gòu)申請證書時,它不需要你提交服務(wù)器公鑰,而是它會自己生成一對服務(wù)器的公私鑰,然后把服務(wù)器公鑰用CA私鑰加密成證書,和服務(wù)器私鑰一起發(fā)送給你,阿里云的免費證書就是這樣操作的。

首先在阿里云的控制臺點擊 SSL證書

nginx中怎么配置https證書

進入相應(yīng)的頁面,然后點擊購買證書:

nginx中怎么配置https證書

進入相應(yīng)頁面,我們購買免費的DV證書即可,當(dāng)然如果你要求安全級別更高,可以購買 DV或者EV:

nginx中怎么配置https證書

這樣我們就購買完證書了,然后根據(jù)域名去申請證書就可以了,這里和傳統(tǒng)的證書機構(gòu)申請證書還不太一樣,一些其他的CA機構(gòu)需要你把服務(wù)器公鑰和網(wǎng)站信息發(fā)給客服,客服會把證書頒發(fā)給你。

購買了免費DV證書后,就可以去申請了,接著我們?nèi)ド暾堊C書,界面如下:

nginx中怎么配置https證書

我們在阿里云購買的是申請證書的權(quán)利,所有可申請的證書全在這個列表中了,點擊申請,填寫要部署https的域名:

nginx中怎么配置https證書

1處我們填寫我們的域名,可以是二級域名或者一級域名,因為是免費的不能用通配符。

2處我們選擇自動DNS驗證,這里驗證申請的證書用的域名所有權(quán)是你的,也就是說你不能用別人的域名申請https證書。

3處這里需要我們呢生成csr文件,這個文件是干嘛的呢?其實就是你的網(wǎng)站的信息,你可以讓阿里云幫你生成,這樣的話你就選擇系統(tǒng)生成,如果你不愿系統(tǒng)生成也可以自己生成。

nginx中怎么配置https證書

自己生成csr的話可以去網(wǎng)上找免費的工具來生成,如下:

nginx中怎么配置https證書

我一般是選擇系統(tǒng)生成。

之后提交申請,申請通過后,會在下面欄目中出現(xiàn)證書下載地址:

nginx中怎么配置https證書

我們點擊下載即可得到兩個文件,這里我們選擇與nginx匹配的版本:

nginx中怎么配置https證書

兩個文件如下:

nginx中怎么配置https證書

pem結(jié)尾的為公鑰證書,key結(jié)尾的為服務(wù)器私鑰,私鑰一定不要泄露出去。

然后我們通過改寫nginx的配置文件nginx.conf來配置https服務(wù)器。

server { listen 443; server_name localhost; ssl on; root html; index index.html index.htm; ssl_certificate   cert/a.pem; ssl_certificate_key  cert/a.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / {     root html;     index index.html index.htm; }}

配置有點多,但是主要的是1、4、7、8行的配置。

第一行監(jiān)聽443端口,https默認端口為443,第四行開啟ssl,第7行配置公鑰證書,第8行配置服務(wù)器私鑰。

然后重啟nginx服務(wù)即可。

上述就是小編為大家分享的nginx中怎么配置https證書了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI