一般開發用的本地伺服器只要沒加密連線的 HTTP 就夠用了,不過有時候會遇到瀏覽器要求要 HTTPS 才能用的功能。所以這篇文章要示範如何在 Vite 開啟 HTTPS 的開發伺服器。因為 Astro 的底層是用 Vite,所以在介紹完 Vite 的設定方法後,我也會介紹如何用相同的方法在 Astro 開啟 HTTPS 的開發伺服器。
Vite
因為我們只要最簡單的 HTTPS 伺服器就好,即使只有自己簽署的憑證也無所謂。所以我們要安裝的是 @vitejs/plugin-basic-ssl
這個 Vite 的 plugin:
安裝完之後在 Vite 的設定檔 import 這個 plugin,還要記得設定 server.https
這個選項為 true:
然後開始開發伺服器就可以看到伺服器的網址有了 https
。
因為是使用自己簽署的憑證,所以在瀏覽 https://localhost:5143/
的時候會跳出警示,不過只要將這個網站加入例外就可以進入網頁。
Astro
Astro 因為底層是用 Vite,所以也可以用一樣的方法開啟 HTTPS 的開發伺服器。
一樣安裝完 @vitejs/plugin-basic-ssl
後,這次要修改的是 Astro 的設定檔。在 vite
下加入一樣的設定:
然後下 astro dev
指令開始開發伺服器後,一樣可以看到伺服器的網址有了 https
。
如果不是開發伺服器,而是 astro build
完之後用 astro preview
開始,用來預覽 build 的預覽伺服器呢?
結果不行。原因是因為 vite
設定只有開發伺服器會使用,而預覽伺服器不會使用這個設定,現在似乎也沒有其他設定可以讓預覽伺服器接受 HTTPS。