Nginx服務器中配置https安全協(xié)議快速入門
一. 簡介
HTTP是互聯(lián)網上應用最為廣泛的一種網絡協(xié)議,是一個客戶端和服務器端請求和應答的標準(TCP),用于從WWW服務器傳輸超文本到本地瀏覽器的傳輸協(xié)議,它可以使瀏覽器更加高效,使網絡傳輸減少。
HTTPS是以網絡安全為目標的HTTP通道,簡單地講就是HTTP的安全版,即HTTP中加入了SSL層,HTTPS的安全基礎就是SSL,因此加密的詳細內容就需要SSL。如我們經常訪問的百度:
二. https和http區(qū)別
HTTP與HTTPS的區(qū)別:
https協(xié)議需要到ca申請證書,一般免費證書較少,大多需要一定的費用;
http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議;
http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443;
http的連接很簡單,是無狀態(tài)的;https協(xié)議是由SSL+HTTP協(xié)議構建的,可進行加密傳輸、身份認證的網絡協(xié)議,比http協(xié)議安全。
三. https協(xié)議優(yōu)缺點
優(yōu)點
使用HTTPS協(xié)議可認證用戶和服務器,確保數據發(fā)送到正確的客戶機和服務器;
HTTPS協(xié)議是由SSL+HTTP協(xié)議構建的可進行加密傳輸、身份認證的網絡協(xié)議,要比http協(xié)議安全,可防止數據在傳輸過程中不被竊取、改變,確保數據的完整性;
HTTPS是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。
缺點
HTTPS協(xié)議握手階段比較費時,會使頁面的加載時間延長近50%,增加10%到20%的耗電;
HTTPS連接緩存不如HTTP高效,會增加數據開銷和功耗,甚至已有的安全措施也會因此而受到影響;
SSL證書需要錢,功能越強大的證書費用越高,個人網站、小網站沒有必要一般不會用;
SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗;
HTTPS協(xié)議的加密范圍也比較有限,在黑客攻擊、拒絕服務攻擊、服務器劫持等方面幾乎起不到什么作用。最關鍵的是,SSL證書的信用鏈體系并不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。
四. nginx中配置https
1. 準備證書
要想正式使用https協(xié)議,我們需要先行購買CA證書(本教程是通過對接 阿里云平臺免費獲得)。
2.下載證書到本地
然后我們登錄數字證書管理服務控制臺,在左側導航欄單擊SSL證書,如下圖所示:
接著單擊目標證書操作列的下載按鈕,在證書下載面板,單擊Nginx服務器對應的操作列下載按鈕。
該操作會將Nginx服務器的證書壓縮包下載到本地,并保存在瀏覽器的默認下載位置。
解壓縮證書
然后我們打開瀏覽器的默認下載位置,解壓已下載的Nginx服務器證書壓縮包文件。解壓后我們將會獲得以下文件:
www.javaqf.com.key www.javaqf.com.pem
4. 在Nginx服務器上安裝證書
首先我們需要登錄Nginx服務器。執(zhí)行以下命令,在Nginx安裝目錄(默認為/usr/local/nginx/conf)下創(chuàng)建一個用于存放證書的目錄:
文件中的配置內容如下所示:
5. 接入流程(最終個人本地配置示例)
這里我們需要將協(xié)議更改為HTTPS配置文件,我的配置如下所示:
最后我們就可以在瀏覽器中通過https協(xié)議進行訪問了,比如:https://www.你的域名.com/
現在你知道如何在nginx服務器中配置https協(xié)議了嗎?如果你還有其他問題,可以在評論區(qū)給我留言哦。關注Java架構棧,干貨天天都不斷哦!