使用定時佇列來控制 Nextcloud 預覽版 CPU 峰值
將縮圖製作移至受控的後台計劃,修剪未使用的預覽尺寸,並在不使 Nextcloud 伺服器過載的情況下驗證佇列。
若要解決 Nextcloud Talk 通話無法連線或存在單向傳輸的問題,請設定可達的 TURN 中繼,在 Talk 設定中輸入其主機名稱、連接埠和共用金鑰,並允許流量同時透過 TURN 監聽器及其中繼連接埠。 TURN 會在直接連線失敗時為 WebRTC 提供中繼路由;但它無法修復 Wi-Fi 訊號弱、丟包或網路過載等問題。
例如:假設一家小型機構的員工可以在辦公室透過電話會議加入通話,但無法從飯店網路可靠地發送視訊。飯店防火牆可能阻止了直接的媒體路徑。以下範例展示了管理員如何檢查路由、配置 coTURN 並測試變更;這並非實際部署或測試的報告。
Nextcloud Talk 首先嘗試直接連結參與者。 STUN 幫助設備發現路由器建立的公網位址和連接埠。當防火牆或限制性 NAT 仍然阻止直接連線時,TURN 會中繼媒體。僅靠 STUN 伺服器無法提供這種中繼功能。
將辦公室網路上的通話與獨立網路(例如手機熱點)上的通話進行比較。如果通話在一個地方可以連接,但在受限位置重複無法建立音訊或視訊連接,則下一步可以檢查 TURN 協定。如果通話可以連接,但在所有網路上都出現模糊或卡頓,則首先應測量頻寬、丟包率、Wi-Fi 品質和 CPU 負載;透過中繼路由更多媒體可能會增加負載,而不會提高容量。

記錄 Talk 版本、TURN 主機名稱和連接埠、TURN 主機是否位於 NAT 之後,以及是否安裝了高效能後端 (HPB)。務必對這些資訊保密。以下命令假設系統為 Linux 且安裝了 systemd;軟體包路徑可能有所不同。
Nextcloud 的 Talk 文件建議使用 coTURN 4.5.0.8 或更高版本,因為舊版本有 IPv6 UDP 套接字問題。請從發行版的軟體倉庫安裝 coTURN,並找到其活動設定檔(通常位於 `/usr/local/bin` /etc/turnserver.conf)。在 TURN 主機上產生一個隨機金鑰:
openssl rand -hex 32
將該值儲存在密碼管理器或受保護的組態儲存庫中。在活動的 coTURN 設定中,設定監聽器、共用金鑰驗證和網域。將範例主機名稱和金鑰替換為實際值:
listening-port=3478
fingerprint
use-auth-secret
static-auth-secret=REPLACE_WITH_RANDOM_SECRET
realm=turn.example.org
total-quota=0
bps-capacity=0
stale-nonce
no-multicast-peers
Talk 文件lt-cred-mech僅適用於 coTURN 4.5.0.8 之前的版本;請升級舊版本,不要盲目複製舊版設定。如果 coTURN 位於 NAT 之後,請按照部署指南的要求配置其公共位址和中繼位址,並確保 DNS 名稱解析到參與者可存取的位址。

允許 TURN 監聽連接埠(本例中為 3478)通過主機和上游防火牆的 UDP 和 TCP 協定。對於 TLS 協議,coTURN 還需要有效的憑證和私鑰,且 Talk 必須使用 TLS 協定turns:。連接埠 443 可以存取限制更嚴格的網絡,但請檢查是否有衝突:HPB 也可能需要該端口,這需要單獨的 IP 位址或主機。
媒體伺服器也使用中繼埠。請在主機防火牆、雲端安全群組和路由器中允許 coTURN 中繼的 UDP 連接埠範圍。如果您已設定 `<command>` 和 `<command>` min-port,max-port請開啟該確切的連接埠範圍;僅允許監聽器是不夠的。對於位於 NAT 後方的 TURN 主機,請同時轉送監聽器和中繼連接埠範圍,並設定其公網/中繼位址。保留 coTURN 對等體限制,以防止存取無關的內部服務。

編輯完成後重啟 coTURN 服務並檢查其是否已啟動。例如,在 systemd 主機上:
sudo systemctl restart coturn
sudo systemctl status coturn --no-pager
服務狀態確認進程已啟動,但不證明遠端瀏覽器可以存取中繼伺服器。請分別檢查主機和提供者的防火牆,並查看 coTURN 日誌,尋找綁定錯誤、驗證失敗或配額分配訊息。
以管理員身分開啟「管理設定」>「Talk」。輸入 TURN 主機名稱和端口,例如 `<hostname>` turn.example.org:3478,以及與 `<secret>` 相同的金鑰static-auth-secret。主機名字段中不要包含`<command> https://`、turn:`<command>` 或turns:`<command>`;請在 Talk 的控制面板中選擇協定方案。盡可能保持 UDP 和 TCP 啟用。turns:僅在 coTURN 中配置 TLS 後使用。
如果可用,請儲存並執行 Talk 內建的 TURN 檢查。然後從受限網絡撥打到另一個網絡,並驗證雙向音訊和視訊。通話期間檢查 coTURN 日誌,查看是否有指派或身分驗證失敗的情況。在本例中,管理員將類似飯店的網路連線與辦公室通話進行比較。

如果檢查失敗,請比較主機名稱、連接埠和金鑰,然後驗證 DNS、防火牆規則、中繼 UDP 範圍、NAT 轉送和服務日誌。基本檢查可能遺漏中繼路徑問題,因此請從外部網路進行測試。對於僅 TURN 的診斷,請按照 Talk 針對不同瀏覽器的具體步驟操作;其控制台方法是臨時的,並且不同瀏覽器的行為有所不同。
TURN 不支援群組通話。 Nextcloud 表示,對於人數較多的群組,超過 5-10 人的通話需要使用 HPB(高優先分組)。如果 TURN 連線成功但視訊品質仍然很差,請在更改中繼配額之前檢查頻寬、丟包率、Wi-Fi 幹擾和伺服器負載。
修復方案由三個可觀察的跡象支援:通話接受 TURN 配置,coTURN 日誌顯示通話期間的中繼分配,以及不同網路上的參與者可以雙向交換音訊和視訊。如果只有辦公室通話有效,或者日誌顯示沒有傳入請求,則公共路由仍然被阻塞,或者配置的主機和連接埠不符。如果媒體串流正常但品質仍然很差,則 TURN 連接正常,剩餘問題可能出在網路或通話基礎設施的其他位置。
參考資料:Nextcloud Talk TURN 伺服器設定;Nextcloud Talk coTURN 設定;coTURN 設定 wiki。
將縮圖製作移至受控的後台計劃,修剪未使用的預覽尺寸,並在不使 Nextcloud 伺服器過載的情況下驗證佇列。
找到導致 Nextcloud 同步失敗的檔案、排除規則、連線問題或用戶端資料庫狀態,然後安全地驗證上傳和下載。
找到觸發 Nextcloud 警告的 PHP OPcache 限制,更新正確的 Web PHP 配置,安全重啟,並驗證結果。
比較內建程式碼和基於 Docker 的程式碼,然後透過安全的 HTTPS 反向代理將 Collabora Online 連接到 Nextcloud。
規劃一個可靠的 Nextcloud 高可用性部署,包括共用儲存、Redis 鎖定、支援仲裁的 MariaDB 路由和實用的故障轉移檢查。
當防火牆或限制性 NAT 阻止直接呼叫媒體時,配置並驗證 Nextcloud Talk 的可達 TURN 中繼。
使用無效文件報告來識別已更改、缺失或多餘的 Nextcloud 程式碼,安全地恢復受信任的文件,並驗證結果。
使用 Gmail 或 Microsoft 365 為 Nextcloud Mail 設定 OAuth2,驗證接收和傳送,並解決常見的同意和 SMTP 失敗問題。
使用 OCC 還原 Nextcloud 存取權限,驗證資料庫遷移狀態,並為歸檔、Docker 或 Snap 安裝選擇正確的命令。
將 Nextcloud 連接到 LDAP 或 Active Directory,使用使用者和群組過濾器限制訪問,並在部署前驗證安全性驗證。