在 Nginx 後端執行 Collabora 程式碼並啟用 TLS 終止
讓 Nginx 負責 Collabora CODE 容器的 HTTPS,正確轉送編輯 WebSocket,並在不暴露連接埠 9980 的情況下驗證公共端點。
將 Collabora CODE 置於 HTTPS 之後,文件可能會出現延遲,因為代理伺服器和 CODE 對 TLS 終止位置的設定不一致,或者代理伺服器丟棄了 WebSocket 流量。請設定 Nginx 以提供公鑰證書,將流量轉送至私有的 CODE 監聽器,並傳遞 WebSocket 路由。 CODE 設定ssl.enable=false如下ssl.termination=true:
本範例使用 Docker 主機上的 Nginx。如果要在另一個容器中使用代理,請改用私人 Docker 網路。有關特定版本的選項,請參閱 Collabora 的代理設定和CODE Docker 映像指南。
TLS 終止表示 Nginx 處理瀏覽器的 HTTPS 連線和證書,而 CODE 則在其後方使用 9980 連接埠的 HTTP 連線。請確保該監聽器私有:將其綁定到單一主機上的回環位址,或使用私有的 Docker 網路。如果代理程式到 CODE 的流量經過不受信任的網絡,請使用 TLS 或隧道保護該連結。

office.example.com。取得與該主機名稱完全匹配的證書,並將證書鍊和私鑰安裝到代理伺服器上。127.0.0.1:9980:9980]。除非防火牆和網路設計明確限制,否則不要9980:9980在所有主機介面上發布。

services:
collabora:
image: ${COLLABORA_CODE_IMAGE}
restart: unless-stopped
ports:
- "127.0.0.1:9980:9980"
environment:
extra_params: "--o:ssl.enable=false --o:ssl.termination=true"
設定COLLABORA_CODE_IMAGE為已測試且已固定的鏡像標籤。保留您的 WOPI 主機允許清單和驗證設定;TLS 終止不會取代它們。如果 Nginx 是另一個 Docker 服務,請省略主機連接埠映射,並將其代理到http://collabora:9980共用的私有網路上。
/office/。
server {
listen 443 ssl;
server_name office.example.com;
ssl_certificate /etc/letsencrypt/live/office.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/office.example.com/privkey.pem;
location ^~ /browser {
proxy_pass http://127.0.0.1:9980;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /hosting/discovery {
proxy_pass http://127.0.0.1:9980;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /hosting/capabilities {
proxy_pass http://127.0.0.1:9980;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ~ ^/cool/(.*)/ws$ {
proxy_pass http://127.0.0.1:9980;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 36000s;
}
location ^~ /cool/adminws {
proxy_pass http://127.0.0.1:9980;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 36000s;
}
location ~ ^/(c|l)ool {
proxy_pass http://127.0.0.1:9980;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
轉送編輯器資源、發現和功能路由。這些/cool/.../ws位置/cool/adminws需要 HTTP/1.1 和 Upgrade 標頭,以便 Nginx 可以建立 WebSocket 隧道;較長的讀取逾時時間會保持編輯會話開啟。請參閱 Nginx 的WebSocket 代理文件。



nginx -t。僅當 Nginx 報告設定測試成功時才繼續;然後使用系統正常的 service 命令重新載入 Nginx。docker compose up -d collabora。檢查容器日誌中的啟動錯誤,並確認活動配置包含所有 SSL 選項。
關於版本信息,Collabora 的倉庫在 2026 年 7 月 22 日記錄了一份報告,指出 CODE 26.04.2.2 及更高版本中的內置coolwsd --probe健康檢查功能,即使 TLS 連接在代理伺服器終止,仍可能檢查 9980 端口上的 HTTPS 連接。這會導致容器被標記為不健康,而公共端點卻有回應。請檢視您的鏡像標籤對應的問題記錄;在僅憑健康狀態就斷定 TLS 連線失敗之前,請先測試公共端點和編輯工作階段。除非有其他監控工具替代,否則請保留健康檢查功能。
https://office.example.com/hosting/discovery在瀏覽器中或透過其他方式發出請求curl。它應該透過 HTTPS 傳回 WOPI 發現 XML,其中 URL 使用公共 HTTPS 主機名稱。憑證警告表示主機名稱或憑證有問題;HTTP URL 表示 TLS 模式或轉送方案不符;502 錯誤表示代理無法連線到 CODE。
接下來,從已連接的 WOPI 主機開啟一個測試文檔,並確認編輯功能正常。在瀏覽器開發者工具中,請求/cool/.../ws應該會建立 WebSocket 連線。如果發現過程正常但編輯卡住,請檢查 WebSocket 連線的位置和標頭。確認整合允許存取 WOPI 主機並指向正確的位址https://office.example.com。
設定成功:憑證受信任,發現使用 HTTPS,連接埠 9980 保持私有,測試文件透過 WebSocket 開啟和編輯。
讓 Nginx 負責 Collabora CODE 容器的 HTTPS,正確轉送編輯 WebSocket,並在不暴露連接埠 9980 的情況下驗證公共端點。
解決 Collabora Online 中行動瀏覽器鍵盤遮擋文字的問題,提供快速解決方法,並對瀏覽器、嵌入式 WebView 和宿主頁面進行單獨檢查。
為 ONLYOFFICE 連結、會議室成員或 Docs API 會話設定列印和下載限制,然後從收件者帳戶驗證限制。
在 ONLYOFFICE Workspace 中設定備份目標、計畫、郵件覆蓋範圍和保留期限,然後驗證檔案是否已準備好進行復原。
啟動企業版 Docker Compose 堆疊,持久化其授權和數據,安全地配置 JWT,並確認編輯器已準備好整合。
使用 ONLYOFFICE JavaScript 巨集,透過安全的審閱工作流程,從指定的電子表格區域中刪除非列印字元並移除多餘的空格。
將入口網站資料從預設磁碟移至支援的雲端儲存供應商,或透過變更主機磁碟區來對應安全地遷移 Docker 資料。
確定文件伺服器使用的是 Linux 軟體包還是 Docker,僅刪除其元件,並檢查剩餘數據,避免誤刪共享服務。
追蹤協作編輯速度慢的原因,例如 Docker 資源壓力、代理連接或文件加載,然後選擇與您的測量結果相符的修復方案。
選擇 TLS 終止位置,安全地掛載受信任的憑證和私鑰,並驗證對 Docker 化的 ONLYOFFICE Docs 伺服器的 HTTPS 存取。