用本地服務(wù)器怎么用 Ngrok 反向代理對(duì)外暴露)
Actual 桌面應(yīng)用本地服務(wù)器怎么用 Ngrok 反向代理對(duì)外暴露【免費(fèi)下載鏈接】actualA local-first personal finance app項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ac/actualActual 桌面應(yīng)用把客戶端和服務(wù)器打包在一起服務(wù)器默認(rèn)跑在你自己電腦的localhost上。當(dāng)需要用手機(jī)或其他網(wǎng)絡(luò)訪問預(yù)算數(shù)據(jù)時(shí)就得把這個(gè)本地服務(wù)器暴露到互聯(lián)網(wǎng)而官方文檔建議用反向代理來做這件事Ngrok 正是文檔給出的其中一條路徑。這篇文章按 桌面應(yīng)用文檔 和 反向代理文檔 中的步驟把內(nèi)嵌本地服務(wù)器啟動(dòng)起來用 Ngrok 免費(fèi)域名對(duì)外暴露并可選項(xiàng)地配置開機(jī)自動(dòng)啟動(dòng)隧道最后說明在移動(dòng)設(shè)備上使用的驗(yàn)證方式。啟動(dòng)桌面應(yīng)用內(nèi)嵌的本地服務(wù)器先在桌面應(yīng)用里把服務(wù)器跑起來在應(yīng)用的服務(wù)端選擇區(qū)域點(diǎn)擊Change。服務(wù)器默認(rèn)運(yùn)行在localhost上并大部分使用默認(rèn)的服務(wù)器配置如有必要可以修改端口。服務(wù)器配置的port項(xiàng)默認(rèn)是5006后面 Ngrok 命令就代理到這一端口。點(diǎn)擊Start啟動(dòng)服務(wù)器。啟動(dòng)后會(huì)提示設(shè)置密碼如果還沒設(shè)置過設(shè)置并登錄以完成配置。一個(gè)文檔明確給出的邊界如果你已經(jīng)在跑自己的 Actual 服務(wù)器文檔建議用 Web 客戶端連接它——桌面應(yīng)用內(nèi)嵌服務(wù)器和已有服務(wù)器同時(shí)運(yùn)行可能導(dǎo)致版本不匹配引發(fā)預(yù)期之外的問題。在 Ngrok 上配置免費(fèi)域名按照 reverse-proxies.md 的 Ngrok 章節(jié)在 Ngrok 官網(wǎng)創(chuàng)建賬戶按儀表盤上 getting started 部分的指引完成 Ngrok 初始配置。進(jìn)入站點(diǎn)的Domains部分創(chuàng)建一個(gè)免費(fèi)靜態(tài)域名格式為your-custom-domain.ngrok-free.app其中your-custom-domain是你自己確定的域名前綴后文所有命令中都按此替換。文檔開頭建議要把 Actual 暴露到互聯(lián)網(wǎng)時(shí)應(yīng)該放在啟用 SSL 的反向代理后面。Ngrok 的免費(fèi)方案隨域名提供免費(fèi) SSL這一步由 Ngrok 處理不需要你自備證書。用一條 Ngrok 命令暴露 5006 端口在運(yùn)行桌面應(yīng)用的機(jī)器上執(zhí)行ngrok http --urlyour-custom-domain.ngrok-free.app 5006命令中各部分的含義your-custom-domain替換為你在上一步創(chuàng)建的免費(fèi)域名前綴5006是 Actual 服務(wù)器的默認(rèn)端口服務(wù)器配置 中port的默認(rèn)值。如果你之前在桌面應(yīng)用的服務(wù)端設(shè)置里改過端口把5006換成你實(shí)際使用的端口。命令跑起來之后就能用這個(gè)自定義域名加免費(fèi) SSL 從外網(wǎng)訪問本地服務(wù)器即文檔所說的 expose Actual to the internet with your custom domain and free SSL。從移動(dòng)設(shè)備驗(yàn)證訪問文檔把暴露本地服務(wù)器的目的定義為從移動(dòng)設(shè)備或其他網(wǎng)絡(luò)訪問你的本地服務(wù)器to access your local server from mobile devices or other networks。因此判斷方式就是用手機(jī)瀏覽器打開https://your-custom-domain.ngrok-free.app用你在應(yīng)用里啟動(dòng)服務(wù)器時(shí)設(shè)置的那個(gè)密碼登錄。能登錄進(jìn)去說明隧道已經(jīng)生效。文檔還給出一個(gè)移動(dòng)端的補(bǔ)充建議在移動(dòng)設(shè)備上使用 Actual 時(shí)推薦把 Web 客戶端安裝為漸進(jìn)式 Web 應(yīng)用PWA這樣它可以在離線時(shí)使用。可選讓隧道隨電腦開機(jī)自動(dòng)啟動(dòng)桌面應(yīng)用文檔指出如果你打算在桌面應(yīng)用運(yùn)行期間長期使用移動(dòng)設(shè)備可以考慮把反向代理配置成隨電腦自動(dòng)啟動(dòng)。文檔給出兩種方式。Windows任務(wù)計(jì)劃程序創(chuàng)建Basic Task起個(gè)名字把觸發(fā)器設(shè)為At system startup在Action下選擇程序ngrok.exe參數(shù)填http --urlyour-custom-domain.ngrok-free.app 5006域名前綴替換為你自己的完成后可以在properties中選擇Run whether user is logged on or not并勾選Hidden讓隧道在后臺(tái)靜默運(yùn)行。Linuxsystemd在/etc/systemd/system/目錄下創(chuàng)建服務(wù)文件expose-actual-server.service寫入以下內(nèi)容。模板中的your-custom-domain和your user是占位符分別替換為你自己的 Ngrok 免費(fèi)域名前綴和 Linux 系統(tǒng)用戶名[Unit] DescriptionRun my Bash script at startup Afternetwork.target [Service] ExecStartngrok http --urlyour-custom-domain.ngrok-free.app 5006 Restartalways Useryour user [Install] WantedBymulti-user.target然后用 root 權(quán)限啟用服務(wù)副作用新增一個(gè)系統(tǒng)服務(wù)并設(shè)為每次開機(jī)啟動(dòng)sudo systemctl enable expose-actual-server.service限制與注意事項(xiàng)反向代理文檔中給出的基礎(chǔ)配置只是實(shí)現(xiàn)建議選定工具后還應(yīng)為其激活文檔提及的額外安全機(jī)制Ngrok 章節(jié)本身只覆蓋賬戶、免費(fèi)域名和上面的啟動(dòng)命令。免費(fèi)域名和免費(fèi) SSL 都來自 Ngrok 免費(fèi)方案賬戶創(chuàng)建與域名配置以 Ngrok 官方的指引為準(zhǔn)Actual 文檔不重復(fù)這部分細(xì)節(jié)。本路徑針對(duì)的是桌面應(yīng)用內(nèi)嵌服務(wù)器默認(rèn)localhost:5006。如果你改用 Caddy、Traefik、NGINX、Apache 等其他反向代理reverse-proxies.md 有各自的配置示例不在本文范圍內(nèi)。【免費(fèi)下載鏈接】actualA local-first personal finance app項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ac/actual創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考