新聞中心
隨著互聯(lián)網(wǎng)的發(fā)展,很多公司和個(gè)人越來(lái)越重視網(wǎng)絡(luò)的安全性,越來(lái)越多的公司采用HTTPS協(xié)議來(lái)代替了HTTP協(xié)議。

成都創(chuàng)新互聯(lián)是一家專(zhuān)注于成都網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),循化網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:循化等地區(qū)。循化做網(wǎng)站價(jià)格咨詢:18980820575
作者個(gè)人研發(fā)的在高并發(fā)場(chǎng)景下,提供的簡(jiǎn)單、穩(wěn)定、可擴(kuò)展的延遲消息隊(duì)列框架,具有精準(zhǔn)的定時(shí)任務(wù)和延遲隊(duì)列處理功能。自開(kāi)源半年多以來(lái),已成功為十幾家中小型企業(yè)提供了精準(zhǔn)定時(shí)調(diào)度方案,經(jīng)受住了生產(chǎn)環(huán)境的考驗(yàn)。為使更多童鞋受益,現(xiàn)給出開(kāi)源框架地址:https://github.com/sunshinelyz/mykit-delay
寫(xiě)在前面
隨著互聯(lián)網(wǎng)的發(fā)展,很多公司和個(gè)人越來(lái)越重視網(wǎng)絡(luò)的安全性,越來(lái)越多的公司采用HTTPS協(xié)議來(lái)代替了HTTP協(xié)議。為何說(shuō)HTTPS協(xié)議比HTTP協(xié)議安全呢?小伙伴們自行百度吧!我就不說(shuō)了。今天,我們就一起來(lái)聊聊如何使用自簽CA配置Nginx的HTTPS加密反向代理??瓤龋』锇閭兛焐宪?chē)。
如果這篇文章對(duì)你有所幫助,請(qǐng)文末留言,點(diǎn)個(gè)贊,給個(gè)在看和轉(zhuǎn)發(fā),大家的支持是我持續(xù)創(chuàng)作的最大動(dòng)力!
Nginx實(shí)現(xiàn)HTTPS
出于安全訪問(wèn)考慮,采用的CA是本機(jī)Openssl自簽名生成的,因此無(wú)法通過(guò)互聯(lián)網(wǎng)工信Root CA驗(yàn)證,所以會(huì)出現(xiàn)該網(wǎng)站不受信任或安全證書(shū)無(wú)效的提示,直接跳過(guò),直接訪問(wèn)即可!
HTTPS的原理和訪問(wèn)過(guò)程
服務(wù)器必要條件有兩個(gè):一個(gè)服務(wù)器私鑰 KEY文件,一張與服務(wù)器域名匹配的CA證書(shū)(公鑰,根據(jù)私鑰key生成)
訪問(wèn)過(guò)程
(1)客戶端瀏覽器通過(guò)https協(xié)議訪問(wèn)服務(wù)器的443端口,并獲得服務(wù)器的證書(shū)(公鑰);客戶端瀏覽器這時(shí)候會(huì)去找一些互聯(lián)網(wǎng)可信的RootCA(權(quán)威證書(shū)頒發(fā)機(jī)構(gòu))驗(yàn)證當(dāng)前獲取到的證書(shū)是否合法有效,PS:這些RootCA是隨操作系統(tǒng)一起預(yù)設(shè)安裝在了系統(tǒng)里面的;
(2)如果RootCA驗(yàn)證通過(guò),表示該證書(shū)是可信的,并且若證書(shū)中標(biāo)注的服務(wù)器名稱(chēng)與當(dāng)前訪問(wèn)的服務(wù)器URL地址一致,就會(huì)直接使用該證書(shū)中包含的公鑰解密服務(wù)器通過(guò)自己的KEY(私鑰)加密后傳輸過(guò)來(lái)的網(wǎng)頁(yè)內(nèi)容,從而正常顯示頁(yè)面內(nèi)容;
(3)如果RootCA驗(yàn)證不通過(guò),說(shuō)明該證書(shū)是未獲得合法的RootCA簽名和授權(quán),因此也就無(wú)法證明當(dāng)前所訪問(wèn)的服務(wù)器的權(quán)威性,客戶端瀏覽器這時(shí)候就會(huì)顯示一個(gè)警告,提示用戶當(dāng)前訪問(wèn)的服務(wù)器身份無(wú)法得到驗(yàn)證,詢問(wèn)用戶是否繼續(xù)瀏覽!(通常自簽名的CA證書(shū)就是這種情況)
這里需要注意,驗(yàn)證CA的有效性,只是證明當(dāng)前服務(wù)器的身份是否合法有效,是否具有公信力以及身份唯一性,防止其他人仿冒該網(wǎng)站;但并不會(huì)影響到網(wǎng)頁(yè)的加密功能,盡管CA證書(shū)無(wú)法得到權(quán)威證明,但是它所包含的公鑰和服務(wù)器上用于加密頁(yè)面的私鑰依然是匹配的一對(duì),所以服務(wù)器用自己的私鑰加密的網(wǎng)頁(yè)內(nèi)容,客戶端瀏覽器依然是可以用這張證書(shū)來(lái)解密,正常顯示網(wǎng)頁(yè)內(nèi)容,所以當(dāng)用戶點(diǎn)擊“繼續(xù)瀏覽此網(wǎng)站(不推薦)”時(shí),網(wǎng)頁(yè)就可以打開(kāi)了;
自簽名CA證書(shū)生成
1.用Openssl隨機(jī)生成服務(wù)器密鑰,和證書(shū)申請(qǐng)文件CSR
2.自己給自己簽發(fā)證書(shū)
在服務(wù)器命令行輸入如下命令辦法證書(shū)。
#opensslx509 -req -days 3650 -in moonfly.net.csr -signkeymoonfly.net.key -outmoonfly.net.crt
-days 3650 證書(shū)的有效期,自己給自己頒發(fā)證書(shū),想有多久有效期,就弄多久,我一下弄了10年的有效期;
-inmoonfly.net.csr指定CSR文件
-signkeymoonfly.net.key指定服務(wù)器的私鑰key文件
-outmoonfly.net.crt 設(shè)置生成好的證書(shū)文件名
一條命令,自己給自己壓鋼印的身份證 moonfly.net.crt 就誕生了!
注:其實(shí)嚴(yán)格來(lái)講,這里生成的只是一張RootCA,并不是嚴(yán)格意義上的服務(wù)器證書(shū)ServerCA,真正的ServerCA是需要利用這張RootCA再給服務(wù)器簽署辦法出來(lái)的證書(shū)才算;不過(guò)我們這里只講如何實(shí)現(xiàn)網(wǎng)頁(yè)的SSL加密,所以就直接使用RootCA了,也是能正常實(shí)現(xiàn)加密功能的!
Nginx啟用HTTPS
配置文件修改完畢后,用nginx -t 測(cè)試下配置無(wú)誤,就reload一下nginx服務(wù),檢查443端口是否在監(jiān)聽(tīng):
配置完畢,https已經(jīng)在工作了,現(xiàn)在可以通過(guò)https訪問(wèn)網(wǎng)站了
網(wǎng)站題目:通過(guò)自簽CA配置HTTPS加密反向代理訪問(wèn)
分享鏈接:http://fisionsoft.com.cn/article/dpdppep.html


咨詢
建站咨詢
