Collabora CODEをTLS終端処理付きでNginxの背後で実行する
Collabora CODEコンテナのHTTPSをNginxに任せ、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場所には、Nginx が WebSocket をトンネルできるように HTTP/1.1 および Upgrade ヘッダーが必要です。長い読み取りタイムアウトにより、編集セッションが開いたままになります。Nginx のWebSocket プロキシに関するドキュメントを参照してください。



nginx -t。Nginx が構成テストが成功したと報告した場合のみ続行し、システムの通常のサービス コマンドを使用して 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経由で開いて編集できます。
Collabora CODEコンテナのHTTPSをNginxに任せ、WebSocketのフォワード編集を正しく行い、ポート9980を公開せずにパブリックエンドポイントを検証します。
Collabora Onlineでモバイルブラウザのキーボードがテキストを覆い隠してしまう問題のトラブルシューティング。ブラウザ、埋め込みWebView、ホストページそれぞれについて、迅速な回避策と個別のチェック方法を紹介します。
ONLYOFFICEリンク、会議室メンバー、またはDocs APIセッションに対して印刷とダウンロードの制限を設定し、受信者アカウントから制限内容を確認します。
ONLYOFFICE Workspaceでバックアップ先、スケジュール、メールのカバー範囲、および保持期間を設定し、アーカイブが復元できる状態になっていることを確認してください。
Enterprise Docker Composeスタックを起動し、ライセンスとデータを永続化し、JWTを安全に設定し、エディターが統合準備完了であることを確認します。
ONLYOFFICEのJavaScriptマクロを使用して、指定したスプレッドシート範囲から印刷されない文字を削除し、余分なスペースをトリミングします。安全なレビューワークフローも利用可能です。
ポータルデータをディスクデフォルトからサポートされているクラウドストレージプロバイダーに移動するか、ホストボリュームマッピングを変更してDockerデータを安全に移動します。
ドキュメントサーバーがLinuxパッケージを使用しているかDockerを使用しているかを特定し、そのコンポーネントのみを削除し、共有サービスを誤って削除することなく残りのデータを確認します。
共同編集の速度低下の原因を、Dockerリソースの負荷、プロキシ接続、またはドキュメントの読み込み状況から特定し、測定結果に合致する解決策を選択してください。
TLSの終端場所を選択し、信頼できる証明書と秘密鍵を安全にマウントし、Dockerコンテナ化されたONLYOFFICE DocsサーバーへのHTTPSアクセスを検証します。