您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何用Docker搭建本地https環境”,在日常操作中,相信很多人在如何用Docker搭建本地https環境問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何用Docker搭建本地https環境”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
什么是 https
我們都知道 web app 的運行都是建立在網絡應用層 http 協議的,http 協議能夠進行客戶端和服務器之間的請求和返回。但是這個過程是明文傳輸的,當請求被抓包后傳輸內容很容易被篡改,這對用戶的安全性來說是極其嚴重的威脅。pwa 應用出于安全性的考慮要求項目必須部署在 https 環境。
那么 https 是什么呢?
https 是將 http 置于 ssl/tls 之上,其效果是加密 http 流量( traffic ),包括請求的 url、結果頁面、cookies、媒體資源和其他通過 http 傳輸的內容。企圖干擾 https 連接的人既無法監聽流量,也無法更改其內容。除了加密,遠程服務器的身份也要進行驗證:畢竟,如果你無法確定連接的另一端是誰,加密連接也就沒什么意義了。這些措施將使攔截流量變得極其困難。雖然攻擊者仍有可能知道用戶正在訪問哪個網站,但他所能知道的也就僅限于此了。
https請求流程圖
本文將利用docker & docker-compose 搭建本地 https 環境,下面話不多說了,來一起看看詳細的介紹吧。
工具:
acme#sh (生成免費證書)
docker & docker-compose
ihost (可以手動修改 hosts 文件)
配置文件:
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
運行
# 啟動 egg.js yarn dev # 啟動 nginx docker-compose -f docker-compose.dev.yml up
打開 chrome 可以看到旁邊綠色的鎖了,大功告成。
到此,關于“如何用Docker搭建本地https環境”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。