什么是 HTTPS
目前成都創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、崇陽網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
我們都知道 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
default.conf
# HTTP server # server { listen 443 ssl; server_name szcu.implements.io; ssl_certificate /etc/nginx/ssl/fullchain.cer; ssl_certificate_key /etc/nginx/ssl/*.implements.io.key; location / { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_pass http://192.168.2.51:7001; # IP 請勿使用 127.0.0.1 } }
hosts
127.0.0.1 szcu.implements.io
運(yùn)行
# 啟動(dòng) Egg.js yarn dev # 啟動(dòng) nginx docker-compose -f docker-compose.dev.yml up
打開 Chrome 可以看到旁邊綠色的鎖了,大功告成。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。