使用 自簽SSL 架設 https 服務 (portainer)
這是連續的關於架設網站的系列
繼上一篇 CHG: 使用 duckdns 轉發自建的靜態網頁伺服器
已經介紹了如何使用 duckdns + npm 架設靜態網站,這次實際來跑一個服務測試
這篇跑的是自簽SSL來做,由於是自簽無法公開出去需要自行加入到信任區
安裝 portainer
安裝請參考這篇文章
CHG: 在 docker 中安裝 Portainer 管理介面
非企業環境本地間的通訊就不多架一層 https 直接用 http 當作範例
只需要做到可以使用 http://localhost:9000 能看到管理介面即可
自簽SSL
建立專屬的 CA(Certificate Authority)
CHG: 利用同一個CA自簽SSL憑證
在這一步你必須產出屬於你自己的域名的簽證
例如 portainer.chg
這個只是要在內網跑的私有域名沒有要公開出去,可以完全自定義的
npm載入自簽證書
參考自上一篇
CHG: 使用 npm 反向代理內部 nginx 的靜態網站為 https
架設好 npm 之後,再來進入它的SSL管理介面
載入剛剛創建的金鑰後存檔
再來新增一個反向代理
填上剛剛創建的域名與 portainer 的連接埠 9000
在SSL分頁頁選擇剛剛建造的憑證
然後存檔就設定完畢了
瀏覽自簽網址的 portainer
再來還需要搞定兩件事情就是 dns 與 信任自簽憑證
使用管理員打開 powershell 輸入以下命令編輯 host 檔案
notepad C:\Windows\System32\drivers\etc\hosts
在最底下新增一行
127.0.0.1 portainer.chg
這裡網址改成你自己的區網IP,如果是同一臺基器用 127.0.0.1 即可
存檔之後再來找到你的憑證,對他按右鍵安裝憑證
然後選擇本機
然後選擇 “授信任的憑證授權單位”
下一步即可安裝好了
然後需要你重啟一下瀏覽器,這樣才能重新載入剛剛安裝好的憑證
再來使用 https://portainer.chg 就可以打開 portainer 管理介面了
打不開的話檢查清單看一下
- npm 是否設置正確
- proxy設置
- ssl設置
- SSL憑證是否安裝到指定位置
- 安裝後是否重啟瀏覽器
- 系統 Host 網域是否設置正確