Collabora CODEでテレメトリと外部接続を無効にする方法
Collabora CODEが行う外部接続を把握し、定期的な更新チェックとオプションの統合を無効にし、ドキュメントデータの取得を制限し、WOPIトラフィックの編集ニーズを維持します。
ONLYOFFICE DocsをDockerでHTTPS経由で動作させるには、公開ホスト名に一致する証明書を使用し、それをコンテナ内で利用可能にして、コンテナのHTTPSポートを公開します。HTTPSは暗号化されたWeb接続です。TLS証明書は、ブラウザが期待どおりのサーバーに到達したことを検証するのに役立ちます。このガイドでは、信頼できる認証局(CA)から既に取得済みの証明書と秘密鍵を使用します。リバースプロキシを使用する場合は、プロキシがHTTPSを処理する可能性があるため、以下の別のオプションに従ってください。
ONLYOFFICE Docsは、Dockerコンテナから直接HTTPSを提供できます。また、NGINXやTraefikなどのリバースプロキシを使用してHTTPSを受け入れ、リクエストをDocsに転送することも可能です。パブリックポート80と443が利用可能なスタンドアロンサーバーの場合は、直接TLSを使用するのが簡単な選択肢です。これらのポートを既に別のWebサービスが使用している場合や、複数のサイトが1つのサーバーを共有している場合は、リバースプロキシの方が簡単な場合が多いです。両方のレイヤーを無計画に設定することは避けてください。TLSを終端するコンポーネントを決定し、プロキシとコンテナ間の接続がHTTPかHTTPSかを文書化してください。
このチュートリアルでは、CA 発行の証明書を使用して直接 HTTPS を設定する方法を説明します。ONLYOFFICE では、Let's Encrypt の自動オプションについても説明していますLETS_ENCRYPT_DOMAIN。LETS_ENCRYPT_MAILこのオプションでは、ポート 80 と 443 がアクセス可能で、プロキシによって既に占有されていないことが必要です。自己署名証明書はプライベート テスト ネットワークには便利ですが、パブリック ブラウザーや接続されたストレージ サービスでは自動的に信頼されません。
docs.example.comホストのパブリックIPv4アドレスを指定します。IPv6が設定され、到達可能な場合にのみ、AAAAレコードを追加してください。
この例では、ホストは永続データを の下に保持します/srv/onlyoffice/data。サンプルホスト名とパスを、ご自身のものに置き換えてください。証明書の完全なチェーンを としてtls.crt、対応する秘密鍵を として、サブディレクトリtls.keyに保存しますcerts。
sudo mkdir -p /srv/onlyoffice/data/certs
sudo install -m 0644 /path/to/fullchain.pem /srv/onlyoffice/data/certs/tls.crt
sudo install -m 0600 /path/to/privkey.pem /srv/onlyoffice/data/certs/tls.key
sudo chown root:root /srv/onlyoffice/data/certs/tls.key
秘密鍵は、それを必要とするアカウントまたはサービスのみが読み取れるようにしてください。Compose ファイル、問題報告、または公開リポジトリに貼り付けないでください。所有権または権限の問題で Docker が鍵を読み取れない場合は、鍵を誰でも読み取れるようにするのではなく、コンテナのランタイムに対してアクセス権限を限定的に調整してください。
サービスを開始する前に、証明書の日付とホスト名を確認してください。
openssl x509 -in /srv/onlyoffice/data/certs/tls.crt -noout -subject -issuer -dates -ext subjectAltName
サブジェクト代替名(SAN)リストには、ユーザーがアクセスするホスト名を正確に含める必要があります。証明書から生成された公開鍵と秘密鍵を比較すると、2つのハッシュ値が一致するはずです。
openssl x509 -in /srv/onlyoffice/data/certs/tls.crt -pubkey -noout | openssl sha256
openssl pkey -in /srv/onlyoffice/data/certs/tls.key -pubout | openssl sha256

ONLYOFFICE の Docker ドキュメントで/var/www/onlyoffice/Data/certsは、証明書を に配置しています。現在の環境変数リストでは、デフォルトの証明書ファイル名として と が指定されていますtls.crtがtls.key、インストール手順の例では と も使用されていますonlyoffice.crt。onlyoffice.keyパスを明示的に設定することで、ファイル名の規則に依存することを回避できます。ホスト ディレクトリは、対応するコンテナ データ ディレクトリにバインド マウントされ、ポート 443 はホスト ポート 443 として公開されます。
以下のようなファイルを作成しcompose.yaml、サンプルJWT値を、ご使用の環境で生成された秘密鍵に置き換えてください。以下のイメージタグはサンプルバージョンです。公式イメージ一覧を確認し、ご自身が管理する予定のバージョンを使用してください。
services:
documentserver:
image: onlyoffice/documentserver:9.4.0
container_name: onlyoffice-documentserver
restart: unless-stopped
ports:
- "443:443"
volumes:
- /srv/onlyoffice/data:/var/www/onlyoffice/Data
environment:
SSL_CERTIFICATE_PATH: /var/www/onlyoffice/Data/certs/tls.crt
SSL_KEY_PATH: /var/www/onlyoffice/Data/certs/tls.key
JWT_SECRET: replace_with_a_long_random_secret
強力なシークレットを生成しopenssl rand -hex 32、適切なファイル権限で環境ファイルまたはCompose構成に配置してください。別のアプリがDocsと統合する場合は、そのアプリにも同じJWTシークレットと公開HTTPSアドレスを設定してください。既存のインストールの場合、既存のComposeファイルを編集する際に、ボリューム、ネットワーク、その他の環境変数、および統合設定を保持してください。動作中のサービス定義をこの最小限のサンプルで置き換えないでください。
Composeファイルを含むディレクトリからサービスを開始または再作成します。
docker compose up -d
docker compose ps
docker compose logs --tail=100 documentserver

ホスト名を置き換えてブラウザで開きますhttps://docs.example.com。ブラウザに安全な接続が表示され、名前の不一致、証明書の有効期限切れ、または信頼できない発行者に関するエラーが報告されないことを確認してください。ONLYOFFICE Docs のウェルカム ページが読み込まれることを確認してください。Docs が Nextcloud、ownCloud、またはその他のプラットフォームに接続されている場合は、ドキュメントの開閉と保存もテストしてください。ブラウザがロックされるだけでは、統合のコールバック リクエストや JWT 構成が正しく機能していることを証明できません。
シェルからサーバーにTLS証明書を要求し、HTTPS応答をテストします。
openssl s_client -connect docs.example.com:443 -servername docs.example.com </dev/null
curl -I https://docs.example.com/
この-servernameオプションは、ホスト名をサーバー名表示(SNI)を使用して送信します。SNIを使用すると、複数のホスト名が同じアドレスを共有している場合でも、サーバーは適切な証明書を選択できます。証明書の日付、発行者、SANは、インストールした証明書と一致している必要があります。docker compose logsブラウザが接続できない場合や、コンテナが繰り返し再起動する場合は、これらの点を確認してください。

NGINX、Traefik、Caddy、またはホスティングゲートウェイが既にパブリックポート80と443を所有している場合は、そのプロキシにパブリック証明書をインストールする方が良いでしょう。そのトポロジでは、DocsコンテナをプライベートDockerネットワークにのみ公開するか、HTTPポートをループバックにバインドし、プロキシを設定して必要なリクエストとWebSocketトラフィックを転送します。統合アプリケーションのONLYOFFICEアドレスをパブリックhttps://URLに設定します。転送ヘッダーとアップストリームTLSについては、プロキシとONLYOFFICEの現在の指示に従ってください。コンテナのポート443を、プロキシが既に使用しているホストポートと同じポートに公開しないでください。
1つのプロキシで複数のサービスのトラフィックをルーティングする場合は、このパターンを選択してください。DocsがパブリックHTTPSエンドポイントを所有し、必要なポートが空いている場合は、上記の直接コンテナ設定を使用してください。プロキシがHTTP経由でコンテナに接続する場合、その内部ホップは暗号化されません。セキュリティ要件に応じて、信頼できるプライベートネットワーク上に維持するか、アップストリームTLSを設定してください。
SSL_..._PATH値を確認してください。Dockerの--mount構文ではソースパスが存在する必要があります。Composeのバインドマウントも、意図した既存のディレクトリを指している必要があります。docker compose restart documentserverComposeプロジェクトディレクトリから実行されるCertbotのデプロイフックを使用するなどです。自動化に頼る前に、Certbotのドライランオプションを使用して更新をテストしてください。HTTPS の設定は、更新が計画されるまで完了しません。証明書の発行者と更新者、秘密鍵の保存場所、更新されたファイルをマウントされたディレクトリにコピーするプロセス、およびサービスがそれらを再読み込みする方法を記録してください。更新クライアントのドライランテストを実行し、証明書の有効期限を監視し、更新のたびに公開エンドポイントを確認してください。ホスト管理証明書の代わりに ONLYOFFICE の組み込み Let's Encrypt 変数を使用する場合は、その方法に関する最新の Docker の手順に従い、実行するイメージとデプロイメントに合わせて更新動作を確認してください。
参考資料として、ONLYOFFICE DocsのDockerインストールおよびHTTPSガイド、Dockerバインドマウントに関するドキュメント、Docker Composeに関するドキュメント、ONLYOFFICE公式Dockerイメージタグ、およびCertbotの公式手順書を参照してください。利用可能なタグとインターフェースの詳細は変更される可能性があるため、新規デプロイメントを準備する際には必ず確認してください。
Collabora CODEが行う外部接続を把握し、定期的な更新チェックとオプションの統合を無効にし、ドキュメントデータの取得を制限し、WOPIトラフィックの編集ニーズを維持します。
Writerの選択したセクションをパスワードで保護し、読み取り専用の結果を確認し、ファイル暗号化が必要な場合を把握できます。
ONLYOFFICE DocsとWord for the webを、DOCXレイアウト、ページコントロール、サポートされているフォーマット、そして共有や印刷前にフォーマットの正確性をテストする実用的な方法について比較します。
信頼できるTLS証明書、Docker Compose、安全なキー権限、および実践的な検証手順を使用して、DOcker上でONLYOFFICE DocsのHTTPSを設定する方法を学びましょう。
表示設定とテキスト形式の数式または古い計算式を見分ける方法を学び、シートに最適なCalcの修正方法を選択してください。
coolwsdのログレベルを一時的に引き上げ、Collabora Onlineの接続障害を追跡し、適切なログシンクを見つけて、安全な本番環境のログ記録を復元します。
Learn how to move ONLYOFFICE Workspace portal data from Disk Default to S3, Google Cloud Storage, Rackspace, or Selectel, with backup and verification steps.
LibreOffice Writerで変更履歴機能を有効にし、レビュー可能なDOCXファイルをエクスポートして、共有する前に改訂内容、フォント、表、ページレイアウトを確認してください。
コントロールパネルを使用して、ONLYOFFICE Workspaceの自動バックアップ、オフサイトストレージ、データ保持、メール保護、検証、および復元テストを設定します。
LibreOffice Writerのマスター文書の作成方法、章ファイルのリンクと順序付け方法、一貫したスタイルの適用方法、目次の更新方法、書籍のエクスポート方法を学びましょう。