疑難排解
網路問題
排解連線、反向代理和 WebSocket 問題。
解決方案:
- 檢查 milmil 是否監聽在
0.0.0.0,而非127.0.0.1(僅限本機) - 檢查防火牆規則 — 連接埠 3000(網頁)和 8080(API)必須開放
- 嘗試透過 IP 位址存取(例如
http://192.168.1.100:3000) - 在 Docker 中,確保連接埠已對應:
-p 3000:3000 -p 8080:8080
常見原因:
- milmil 服務未執行 — 使用
docker ps檢查 - 代理設定中的上游連接埠錯誤
- 代理嘗試以 HTTPS 連線上游,但 milmil 僅提供 HTTP 服務
解決方案: 確認服務正在執行,然後檢查代理錯誤日誌(Nginx 為 /var/log/nginx/error.log)。
症狀: 彈幕無法載入、通知無法即時更新。
解決方案:
- 確認你的反向代理有傳遞 WebSocket 升級標頭 — 請參閱反向代理
- 檢查
/ws和/api/路徑是否都已設定 WebSocket 支援 - 部分 CDN(Cloudflare 免費方案)有 WebSocket 限制 — 請檢查你的 CDN 設定
原因: API 和前端位於不同的網域或連接埠,且未設定正確的 CORS 標頭。
解決方案:
- 使用反向代理將前端和 API 託管在同一網域下(推薦做法)
- 如果分開執行,milmil 的 API 會根據
CORS_ORIGIN環境變數自動設定 CORS 標頭
解決方案:
- 檢查連接埠
42069(或你設定的TORRENT_LISTEN_PORT)是否已開放,並在路由器上完成通訊埠轉發 - DHT 在首次執行時需要時間進行引導 — 請等待數分鐘
- 檢查你的 ISP 是否封鎖了 BitTorrent 流量
- 在 Docker 中,torrent 連接埠必須對應:
-p 42069:42069/tcp -p 42069:42069/udp