オンプレ・サーバーでサイズの大きいコンテンツのパブリッシュが失敗する問題の対処法

問題点

サイズの大きいコンテンツ(データ、チャート、ダッシュボードなど)をパブリッシュしようとすると、パブリッシュ処理が失敗してしまう。

原因

Docker環境で動作しているExploratoryサーバーに、http_proxyやhttps_proxyなどのプロクシーサーバー設定がされていることで、パブリッシュ時の通信がブロックされている可能性があります。

解決方法

以下の手順で、Docker環境のプロクシー設定を解除することでパブリッシュ処理の失敗を解消できます。

  1. コンテナIDの確認
    docker psコマンドを実行し、exploratoryのコンテナIDを確認します。以下は出力例です。

    $ docker ps
    CONTAINER ID   IMAGE              ...      NAMES
    4bb63a323561   exploratory:11.5.1 ...      exploratory-exploratory-1
    
  2. プロクシー設定の有無を確認
    docker inspect <コンテナID> を実行し、Config → Envの中に以下のようなプロクシー設定があるかを確認します。

    "Env": [
        "http_proxy=http://proxy.host",
        "HTTP_PROXY=http://proxy.host",
        "https_proxy=http://proxy.host",
        "HTTPS_PROXY=http://proxy.host",
    ]
    
  3. docker-compose.yml の修正
    docker-compose.ymlファイルの各サービス(mongodb, exploratory, nginx, scheduler, rserve, webdav, agendash)のenvironmentセクションに、以下の4つのプロキシ設定を空の値で追加します。environmentセクションがない場合は、セクションを追加します。

        - http_proxy=
        - https_proxy=
        - HTTP_PROXY=
        - HTTPS_PROXY=
    

    exploratoryサービスへの追加例:

    services:
      exploratory:
        image: exploratory:11.5.1
        environment:
          - EXPL_ADMIN_FIRSTNAME=Admin
          - EXPL_ADMIN_LASTNAME=User
          ...
          - http_proxy=
          - https_proxy=
          - HTTP_PROXY=
          - HTTPS_PROXY=
    
  4. Dockerコンテナの再起動

    $ docker-compose down
    $ docker-compose up -d
    
  5. 設定の反映確認
    ステップ1と2を再度実行し、プロクシー設定が削除されていることを確認します。