2022年12月24日

從 Caddy2 對 Syncthing 以子路徑進行反向代理

有些服務 的 web UI 需要執行在網頁的根路徑或特定路徑上

例如 transmission 就需要路徑 /transmission/web/

而 Syncthing 就必須是 / 才能正確打開Web UI

如果直接反向代理的話就會發現有許多圖片或restful api會找不到

我們需要在代理時將多餘的子路徑去除才會正確找到檔案

在Caddy2下可以這麼做

http://myhost.org { handle_path /syncthing/* { reverse_proxy http://localhost:8384 { header_up Host {http.reverse_proxy.upstream.hostport} } } }

其中handle_path就會在轉送要求時將 syncthing/ 這個前綴移除

這樣有需要的話還可以在同一個host上代理多個syncthing

例如
http://myhost.org { handle_path /syncthing/* { reverse_proxy http://localhost:8384 { header_up Host {http.reverse_proxy.upstream.hostport} } } handle_path /syncthing2/* { reverse_proxy http://localhost:8385 { header_up Host {http.reverse_proxy.upstream.hostport} } } }

沒有留言:

張貼留言