如何使用自籤CA配置HTTPS加密反向代理訪問?

導讀 隨着互聯網的發展,不少公司和我的愈來愈重視網絡的安全性,愈來愈多的公司採用HTTPS協議來代替了HTTP協議。

如何使用自籤CA配置HTTPS加密反向代理訪問?如何使用自籤CA配置HTTPS加密反向代理訪問?

做者我的研發的在高併發場景下,提供的簡單、穩定、可擴展的延遲消息隊列框架,具備精準的定時任務和延遲隊列處理功能。自開源半年多以來,已成功爲十幾家中小型企業提供了精準定時調度方案,經受住了生產環境的考驗。爲使更多童鞋受益,現給出開源框架地址:https://github.com/sunshinelyz/mykit-delayhtml

寫在前面linux

隨着互聯網的發展,不少公司和我的愈來愈重視網絡的安全性,愈來愈多的公司採用HTTPS協議來代替了HTTP協議。爲什麼說HTTPS協議比HTTP協議安全呢?小夥伴們自行百度吧!我就不說了。今天,咱們就一塊兒來聊聊如何使用自籤CA配置Nginx的HTTPS加密反向代理。咳咳,小夥伴們快上車。nginx

若是這篇文章對你有所幫助,請文末留言,點個贊,給個在看和轉發,你們的支持是我持續創做的最大動力!git

Nginx實現HTTPSgithub

出於安全訪問考慮,採用的CA是本機Openssl自簽名生成的,所以沒法經過互聯網工信Root CA驗證,因此會出現該網站不受信任或安全證書無效的提示,直接跳過,直接訪問便可!瀏覽器

HTTPS的原理和訪問過程安全

服務器必要條件有兩個:一個服務器私鑰 KEY文件,一張與服務器域名匹配的CA證書(公鑰,根據私鑰key生成)服務器

訪問過程網絡

(1)客戶端瀏覽器經過https協議訪問服務器的443端口,並得到服務器的證書(公鑰);客戶端瀏覽器這時候會去找一些互聯網可信的RootCA(權威證書頒發機構)驗證當前獲取到的證書是否合法有效,PS:這些RootCA是隨操做系統一塊兒預設安裝在了系統裏面的;併發

(2)若是RootCA驗證經過,表示該證書是可信的,而且若證書中標註的服務器名稱與當前訪問的服務器URL地址一致,就會直接使用該證書中包含的公鑰解密服務器經過本身的KEY(私鑰)加密後傳輸過來的網頁內容,從而正常顯示頁面內容;

(3)若是RootCA驗證不經過,說明該證書是未得到合法的RootCA簽名和受權,所以也就沒法證實當前所訪問的服務器的權威性,客戶端瀏覽器這時候就會顯示一個警告,提示用戶當前訪問的服務器身份沒法獲得驗證,詢問用戶是否繼續瀏覽!(一般自簽名的CA證書就是這種狀況)

如何使用自籤CA配置HTTPS加密反向代理訪問?如何使用自籤CA配置HTTPS加密反向代理訪問?

這裏須要注意,驗證CA的有效性,只是證實當前服務器的身份是否合法有效,是否具備公信力以及身份惟一性,防止其餘人仿冒該網站;但並不會影響到網頁的加密功能,儘管CA證書沒法獲得權威證實,可是它所包含的公鑰和服務器上用於加密頁面的私鑰依然是匹配的一對,因此服務器用本身的私鑰加密的網頁內容,客戶端瀏覽器依然是能夠用這張證書來解密,正常顯示網頁內容,因此當用戶點擊「繼續瀏覽此網站(不推薦)」時,網頁就能夠打開了;

自簽名CA證書生成

1.用Openssl隨機生成服務器密鑰,和證書申請文件CSR

如何使用自籤CA配置HTTPS加密反向代理訪問?如何使用自籤CA配置HTTPS加密反向代理訪問?

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

如何使用自籤CA配置HTTPS加密反向代理訪問?如何使用自籤CA配置HTTPS加密反向代理訪問?

配置文件修改完畢後,用nginx -t 測試下配置無誤,就reload一下nginx服務,檢查443端口是否在監聽:

如何使用自籤CA配置HTTPS加密反向代理訪問?如何使用自籤CA配置HTTPS加密反向代理訪問?

配置完畢,https已經在工做了,如今能夠經過https訪問網站了Linux就該這麼學

相關文章
相關標籤/搜索