您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關nginx中怎么配置https證書,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
首先我們來回顧一下https的原理,首先我們看圖:
第一步、客戶端發送請求,服務器將證書發送給客戶端,證書的本質是第三方CA的私鑰加密的內容,其內容是服務器的公鑰。
第二步、客戶端接收到證書后,用操作系統和瀏覽器內置的CA公鑰去匹配驗證證書,如果能解密,說明請求的是目標網站,不是中間人。
第三步、用CA公鑰解密證書,并將服務器公鑰解密出來。到這一步,客戶端安全的拿到了服務器端的公鑰。
第四步、生成隨機數,用服務器公鑰加密隨機數發送到服務器端。
第五步、服務器端用服務器私鑰解密信息,得到隨機數
我們仔細閱讀上面的流程,我們將客戶端和服務器端用到的工具分一下類:
客戶端用到的如下:
1、CA機構的公鑰:已經內置到系統中不需要處理
2、公鑰證書:服務器端發送給客戶端的,客戶端會自動用CA公鑰解密證書
3、服務器公鑰:客戶端用CA公鑰解密證書獲得
4、隨機數生成對稱秘鑰:自動生成
服務器端:
1、公鑰證書 需要去申請
2、服務器端私鑰 需要服務端手動生成
客戶端需要的工具不需要我們配置,主要是服務器端的工具,我們看到服務器端需要公鑰證書和服務器端私鑰,這兩個東西如何來的呢?
首先我們在服務器端用ssh-keygen命令來生成公私鑰,在服務器端命令行中執行,ssh-keygen會在服務器的"~/.ssh"目錄中生成兩個文件 id_rsa,id_rsa.pub,前者不帶pub后綴的為私鑰,后者帶pub后綴的為公鑰。
得到了服務器端的公鑰和私鑰后,我們需要用服務器端的公鑰去申請證書,這里大家如果是去向一些收費的CA機構申請證書的話,CA機構的客服一般會想你要你的服務器公鑰和你的網站信息,然后CA機構用CA機構的私鑰加密你的服務器公鑰得到公鑰證書,然后CA機構會將公鑰證書頒發給你。
經過上面兩部操作我們就會得到公鑰證書和服務的私鑰,拿到這兩個文件我們可以使用配置https協議的網站了。
這里要說明一下,我們向有些CA機構申請證書時,它不需要你提交服務器公鑰,而是它會自己生成一對服務器的公私鑰,然后把服務器公鑰用CA私鑰加密成證書,和服務器私鑰一起發送給你,阿里云的免費證書就是這樣操作的。
首先在阿里云的控制臺點擊 SSL證書
進入相應的頁面,然后點擊購買證書:
進入相應頁面,我們購買免費的DV證書即可,當然如果你要求安全級別更高,可以購買 DV或者EV:
這樣我們就購買完證書了,然后根據域名去申請證書就可以了,這里和傳統的證書機構申請證書還不太一樣,一些其他的CA機構需要你把服務器公鑰和網站信息發給客服,客服會把證書頒發給你。
購買了免費DV證書后,就可以去申請了,接著我們去申請證書,界面如下:
我們在阿里云購買的是申請證書的權利,所有可申請的證書全在這個列表中了,點擊申請,填寫要部署https的域名:
1處我們填寫我們的域名,可以是二級域名或者一級域名,因為是免費的不能用通配符。
2處我們選擇自動DNS驗證,這里驗證申請的證書用的域名所有權是你的,也就是說你不能用別人的域名申請https證書。
3處這里需要我們呢生成csr文件,這個文件是干嘛的呢?其實就是你的網站的信息,你可以讓阿里云幫你生成,這樣的話你就選擇系統生成,如果你不愿系統生成也可以自己生成。
自己生成csr的話可以去網上找免費的工具來生成,如下:
我一般是選擇系統生成。
之后提交申請,申請通過后,會在下面欄目中出現證書下載地址:
我們點擊下載即可得到兩個文件,這里我們選擇與nginx匹配的版本:
兩個文件如下:
pem結尾的為公鑰證書,key結尾的為服務器私鑰,私鑰一定不要泄露出去。
然后我們通過改寫nginx的配置文件nginx.conf來配置https服務器。
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行的配置。
第一行監聽443端口,https默認端口為443,第四行開啟ssl,第7行配置公鑰證書,第8行配置服務器私鑰。
然后重啟nginx服務即可。
上述就是小編為大家分享的nginx中怎么配置https證書了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。