您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何使用自簽CA配置HTTPS加密反向代理訪問,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
寫在前面
隨著互聯網的發展,很多公司和個人越來越重視網絡的安全性,越來越多的公司采用HTTPS協議來代替了HTTP協議。為何說HTTPS協議比HTTP協議安全呢?小伙伴們自行百度吧!我就不說了。今天,我們就一起來聊聊如何使用自簽CA配置Nginx的HTTPS加密反向代理。咳咳,小伙伴們快上車。
Nginx實現HTTPS
出于安全訪問考慮,采用的CA是本機Openssl自簽名生成的,因此無法通過互聯網工信Root CA驗證,所以會出現該網站不受信任或安全證書無效的提示,直接跳過,直接訪問即可!
HTTPS的原理和訪問過程
服務器必要條件
一個服務器私鑰 KEY文件
一張與服務器域名匹配的CA證書(公鑰,根據私鑰key生成)
訪問過程
(1)客戶端瀏覽器通過https協議訪問服務器的443端口,并獲得服務器的證書(公鑰);客戶端瀏覽器這時候會去找一些互聯網可信的RootCA(權威證書頒發機構)驗證當前獲取到的證書是否合法有效,PS:這些RootCA是隨操作系統一起預設安裝在了系統里面的;
(2)如果RootCA驗證通過,表示該證書是可信的,并且若證書中標注的服務器名稱與當前訪問的服務器URL地址一致,就會直接使用該證書中包含的公鑰解密服務器通過自己的KEY(私鑰)加密后傳輸過來的網頁內容,從而正常顯示頁面內容;
(3)如果RootCA驗證不通過,說明該證書是未獲得合法的RootCA簽名和授權,因此也就無法證明當前所訪問的服務器的權威性,客戶端瀏覽器這時候就會顯示一個警告,提示用戶當前訪問的服務器身份無法得到驗證,詢問用戶是否繼續瀏覽!(通常自簽名的CA證書就是這種情況)
這里需要注意,驗證CA的有效性,只是證明當前服務器的身份是否合法有效,是否具有公信力以及身份唯一性,防止其他人仿冒該網站;但并不會影響到網頁的加密功能,盡管CA證書無法得到權威證明,但是它所包含的公鑰和服務器上用于加密頁面的私鑰依然是匹配的一對,所以服務器用自己的私鑰加密的網頁內容,客戶端瀏覽器依然是可以用這張證書來解密,正常顯示網頁內容,所以當用戶點擊“繼續瀏覽此網站(不推薦)”時,網頁就可以打開了;
自簽名CA證書生成
1.用Openssl隨機生成服務器密鑰,和證書申請文件CSR
2.自己給自己簽發證書
在服務器命令行輸入如下命令辦法證書。
#opensslx509 -req -days 3650 -in moonfly.net.csr -signkeymoonfly.net.key -outmoonfly.net.crt
-days 3650 證書的有效期,自己給自己頒發證書,想有多久有效期,就弄多久,我一下弄了10年的有效期;
-inmoonfly.net.csr指定CSR文件
-signkeymoonfly.net.key指定服務器的私鑰key文件
-outmoonfly.net.crt 設置生成好的證書文件名
一條命令,自己給自己壓鋼印的身份證 moonfly.net.crt 就誕生了!
注:其實嚴格來講,這里生成的只是一張RootCA,并不是嚴格意義上的服務器證書ServerCA,真正的ServerCA是需要利用這張RootCA再給服務器簽署辦法出來的證書才算;不過我們這里只講如何實現網頁的SSL加密,所以就直接使用RootCA了,也是能正常實現加密功能的!
Nginx啟用HTTPS
配置文件修改完畢后,用nginx -t 測試下配置無誤,就reload一下nginx服務,檢查443端口是否在監聽:
配置完畢,https已經在工作了,現在可以通過https訪問網站了
看完上述內容,你們對如何使用自簽CA配置HTTPS加密反向代理訪問有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。