我正在做一個涉及 Leaflet、Django 和 GIS 的家庭專案。在我的主系統上,我運行的是 Linux (Ubuntu 20.04),同時我還有一個額外的系統運行 Win 10 Home。最后但同樣重要的是,我有一部連接到 WiFi 的 Android 智能手機。這三個都是我的路由器管理的 LAN 的一部分(典型的家庭設定)。
我想測驗我的 Django 專案在沒有一些高級瀏覽器的情況下在多個設備以及不同網路上的運行情況。
使用 VS Code 的Live Server擴展,我可以輕松部署服務器,而無需深入了解這些事情。在本地主機(開發機器)上,我可以毫無問題地加載網站,但是在訪問正在我的開發機器上運行的服務器的任何其他設備上,我遇到了有關 HTTP 和地理位置的問題。
據我了解:
- 近年來,地理定位僅允許用于 HTTPS 連接或
- 如果在 localhost 上運行,則標記為安全(否則對開發人員來說太麻煩了)。
我正在尋找一種簡單的設定(對于不熟悉 Web 服務器的人)來在我的 LAN 上部署我的網站并使其可用于所有連接的設備。這甚至可能嗎?
uj5u.com熱心網友回復:
歸功于@deceze。
默認情況下,VS Code 的 Live Server 擴展沒有啟用 HTTPS。該協議受支持,但需要額外的配置步驟。
作為開發人員除錯在localhost上運行的網站不是問題,因為這樣的源會自動被接受為受信任的。但是,如果需要從其他設備(例如智能手機或不同作業系統上的網路瀏覽器)訪問網站,則需要使用 HTTPS。
在 VS Code 專案檔案夾中執行以下操作:
創建一個自簽名證書(有關如何做的 OpenSSL 教程)。如果您已經有,請跳過此步驟。
將證書和相應的密鑰檔案放在 VS Code 可以讀取的位置
.vscode如果目錄不存在,則創建一個目錄添加一個
settings.json檔案或使用以下條目編輯已存在的檔案liveServer.settings.https:{ "liveServer.settings.https": { "enable": true, "cert": "<ABSOLUTE_PATH_TO_CERTIFICATE_FILE>", "key": "<ABSOLUTE_PATH_TO_CERTIFICATE_KEY_FILE>", "passphrase": "<PASSWORD_FOR_CERTIFICATE_KEY>" } }請注意,您需要檔案的絕對路徑。相對似乎不起作用。
重新啟動實時服務器
在目標系統的網路瀏覽器中添加例外,由于自簽名證書的性質(未經任何證書頒發機構驗證),該例外將彈出。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/510752.html
