Laravel Homestead 在使用 nginx 創建網頁 config 時是有幫他配置 ssl key 的,但為什麼我們使用 https 還是會被警告呢,因為我們的瀏覽器是不認這個憑證的,在 Windows 上可以手動安裝該憑證讓你測試的時候可以透過 https 連到你的測試機,有時候開發會遇到跨網站連結 https 的狀況,如果你是 http 的話可能會被擋下來。
配置 Homestead.yml
folders:
- map: ./ssl
to: /ssl
- map: ./code
to: /home/vagrant/code
sites:
- map: ssl.test
to: /home/vagrant/code/
php: "8.2"
這是我添加的測試網站,將根目錄開一個 ssl 目錄,在 code 目錄下放一個有 echo hello world 的 PHP 檔案,修改本機的 hosts 將 ssl.test 指到該 ip。
vm 起來後,vagrant ssh 進去該 vm,執行 sudo cp /etc/ssl/certs/ca.homestead.homestead.pem /ssl,將憑證複製到 /ssl 下,exit 退出 vm。
前往該 ssl 目錄,執行以下步驟:
- 右鍵 點擊憑證檔,選擇 「安裝憑證」
- 點選 「下一步」
- 選擇 「將所有憑證放入以下的存放區」
- 點選 「瀏覽」
- 選擇 「受信任的根憑證授權單位」
- 點選 「下一步」
- 點選 「完成」
此時瀏覽 https://ssl.test 應該就不會有警告了,如果還是有的話可能是 nginx cache,重開 server 或瀏覽器應該就解決了,可以先用無痕驗證一下。
該憑證過期時間為十年,應該是蠻夠用的,過期的話要重產一個新的,但我想應該在過期之前就會重置測試機了。
沒有留言:
張貼留言