什么是 HTTPS
我們都知道 Web App 的運(yùn)行都是建立在網(wǎng)絡(luò)應(yīng)用層 HTTP 協(xié)議的,HTTP 協(xié)議能夠進(jìn)行客戶端和服務(wù)器之間的請求和返回。但是這個(gè)過程是明文傳輸?shù)?,?dāng)請求被抓包后傳輸內(nèi)容很容易被篡改,這對用戶的安全性來說是極其嚴(yán)重的威脅。PWA 應(yīng)用出于安全性的考慮要求項(xiàng)目必須部署在 HTTPS 環(huán)境。
那么 HTTPS 是什么呢?
HTTPS 是將 HTTP 置于 SSL/TLS 之上,其效果是加密 HTTP 流量( traffic ),包括請求的 URL、結(jié)果頁面、cookies、媒體資源和其他通過 HTTP 傳輸?shù)膬?nèi)容。企圖干擾 HTTPS 連接的人既無法監(jiān)聽流量,也無法更改其內(nèi)容。除了加密,遠(yuǎn)程服務(wù)器的身份也要進(jìn)行驗(yàn)證:畢竟,如果你無法確定連接的另一端是誰,加密連接也就沒什么意義了。這些措施將使攔截流量變得極其困難。雖然攻擊者仍有可能知道用戶正在訪問哪個(gè)網(wǎng)站,但他所能知道的也就僅限于此了。
https請求流程圖
本文將利用Docker & docker-compose 搭建本地 https 環(huán)境,下面話不多說了,來一起看看詳細(xì)的介紹吧。
工具:
配置文件:
docker-compose.dev.yml
version: '3' services: proxy: image: nginx:stable-alpine ports: - 443:443 volumes: - /Users/thonatos/.acme.sh/*.implements.io:/etc/nginx/ssl/ - ./default.conf:/etc/nginx/conf.d/default.conf