文件

連接埠轉發

連接埠轉發把執行在伺服器本機的 HTTP 服務 —— 開發伺服器、裝置管理頁,任何監聽在 http://localhost:連接埠 上的頁面 —— 發布到一個獨立的 TLS 連接埠上,凡是能存取這台伺服器的裝置,都可以在瀏覽器中透過 https://<伺服器地址>:<連接埠>/ 開啟它。

運作原理

  • 每條轉發把一個目標連接埠(本機上的 HTTP 服務)映射到一個從設定的連接埠範圍(預設 62000–62999)中分配的轉發連接埠;
  • 轉發連接埠使用 TLS:所有通訊都用伺服器的自簽憑證加密 —— 即使在不受信任的網路上也沒有任何明文傳輸;
  • 凡是能存取伺服器的裝置 —— 區域網路內,或在路由器上轉發該連接埠範圍後來自網際網路 —— 開啟 https://<伺服器地址>:<轉發連接埠>/ 即可存取本機服務。

轉發按需建立:在遠端(中繼)伺服器上使用「以 HTTP 伺服器託管」檔案分享時,用戶端會自動申請一條轉發並給出可直接開啟的 URL,無需手動設定。

管理轉發

Web 介面 —— 連接埠轉發設定頁:連接埠範圍配置與生效中的轉發列表
  1. 開啟伺服器 Web 介面的 連接埠轉發 設定頁。
  2. 連接埠範圍配置 界定了轉發連接埠的分配池,修改會自動儲存。當防火牆或路由器只轉發少量連接埠時,可以收窄該範圍。
  3. 生效列表以 :轉發連接埠 → :目標連接埠 的形式顯示每條轉發及其使用中連線數。
  4. 點擊某條轉發的停止按鈕會立即拆除監聽並中斷其使用中連線;下次分享會重新分配連接埠。重新整理 重新讀取列表。

憑證警告

轉發使用伺服器自身的自簽憑證加密 —— 與保護 Web 介面和用戶端連線的是同一張憑證。瀏覽器無法透過憑證授權單位驗證它,因此首次存取轉發 URL 時會出現隱私警告(您的連線不是私人連線)。這個警告符合預期,點擊繼續是安全的:加密本身沒有問題,只是憑證的來源無法被機器驗證。可將伺服器憑證匯入裝置的信任儲存,永久消除警告。

瀏覽器 —— 自簽憑證不受信任警告;點擊「進階 → 繼續前往」開啟頁面

macOS 上 Chrome 顯示 ERR_ADDRESS_UNREACHABLE

在 macOS 15(Sequoia)及更高版本上,第三方應用程式需要獲得明確授權才能存取區域網路裝置 —— 任何 192.168.x.x、10.x.x.x 之類的地址。Safari 作為系統應用程式不受此限制,因此轉發 URL 在 Safari 中可以正常開啟,而 Chrome 卻在 TLS 交握開始前就回報 ERR_ADDRESS_UNREACHABLE。這不是憑證問題,也不是轉發本身的問題。

授予 Chrome 存取權限的方法:

  1. 開啟 系統設定 → 隱私權與安全性 → 本地網路。
  2. 在列表中找到 Google Chrome 並開啟。
  3. 完全結束 Chrome(Cmd+Q,而不是僅關閉視窗)後重新啟動。

如果開關已經是開啟狀態,請先關閉再重新開啟 —— 在 Chrome 或 macOS 更新後該開關可能會卡住失效。如果錯誤仍然存在,請檢查 Chrome 中是否存在不路由私有網段的 VPN 或代理擴充功能。

存取控制

轉發連接埠前的防護取決於背後轉發的是什麼:

  • 內建分享需要權杖。 用戶端產生的分享連結 —— 「以 HTTP 伺服器託管」的分享(?share_token=…)與 Settings 頁面(?ticket=…)—— 都附帶存取權杖;既無有效權杖也無有效工作階段的連線,在回傳任何內容之前即被中止。首次開啟時,權杖會換取僅對該服務生效的安全工作階段 Cookie,並從網址中移除,不會留在網址列或瀏覽記錄裡。

  • 權杖為一次性且壽命很短。 Settings 的 ticket 僅能使用一次,並在一分鐘內失效;分享停止或重新啟動後,原有連結與工作階段將全部失效。請把完整連結視為憑證 —— 持有它的人就能存取對應服務 —— 只發送給信任的人。

  • 自有服務需自帶身分驗證。 轉發到其他本機服務的連接埠僅以伺服器自簽憑證加密流量,不額外添加身分驗證:能存取該連接埠的人,就能存取該服務提供的頁面和 API。暴露敏感服務前,請先為其設定身分驗證。