要點:
https協議對傳輸內容進行加密,具有更強的安全性,防止被抓包后解析出請求內容。
https是建立在ssl之上的http協議。
服務器支持https協議必須安裝一套數字證書,所謂數字證書就是一對公鑰和私鑰,公鑰用來加密,私鑰用來解密。為了與下文中的私鑰進行區分,這里的公鑰和私鑰稱為公鑰1和私鑰1。
數字證書可以自己制作或者向組織申請,自己制作的會在客戶端彈出提示框,手動驗證通過,而申請的就無需客戶端手動驗證了。
請求過程:
1.客戶端訪問 https開頭的url
2.服務端返回公鑰1,客戶端驗證通過(如果不通過,則訪問終斷)。
3.客戶端根據公鑰1生成一個私鑰2,這個私鑰2用來加密和解密請求信息。使用公鑰1對私鑰2進行加密,回傳給服務端。服務端用私鑰1對該信息解密,得到私鑰2。至此,客戶端和服務端都已經有了私鑰2。
4.客戶端和服務端之間使用私鑰2對信息進行加密后通信,這樣即使第三方抓包,也無法輕易獲取通信內容了。
https的服務端部署:
1.搞定公鑰1和私鑰1(申請或者自己造一個)。
2.在nginx配置文件的server域中,配置公鑰1和私鑰1。