FessのDropboxクロールをHTTPプロキシ経由で実行する

社内ネットワークからDropboxへの直接通信を許可せず、HTTPプロキシを経由させたい場合に使える設定がDropboxデータストアへ追加されました。あわせて、DropboxとDropbox Paperのクロール終了待ちや失敗通知も改善されています。

対応状況

関連PRはマージ済みです。ただし、今回の変更を含むプラグインの公開バージョンは未確認です。Fess本体の最新公開リリースは確認時点で15.8.0であり、本記事は開発中の変更を説明します。利用時には本体と互換性のある、修正を含んだDropboxプラグインが必要です。

プロキシの設定

DropboxまたはDropbox Paperのデータストア設定に、既存のアクセストークンなどのパラメーターとともに次を追加します。

proxy_host=proxy.example.com
proxy_port=8080

proxy_hostの初期値は空で、未指定または空の場合は直接接続します。ホストを指定する場合はproxy_portも必要です。ポート未指定や数値に変換できない値はエラーになります。HTTPプロキシを通じたHTTPS通信ではCONNECTを許可する必要があります。

Dropbox SDKの既定通信処理はJVMのhttps.proxyHost・https.proxyPortを使用しないため、JVMの起動オプションだけを設定しても、このデータストアの接続先は変わりません。今回追加されたパラメーターを使います。

この設定はBasicクライアントとTeamクライアントで共通です。basic_planの初期値はfalseで、Basicプランを対象にする場合はtrueを設定します。proxy_username・proxy_passwordによるプロキシ認証は今回の対応に含まれません。

空のクロールと失敗を確認しやすくする

修正前は、処理対象が空でも終了待ちが毎回60秒続いていました。修正後はタスク受付を終了してから待機するため、処理が終われば早く戻れます。投入済み処理を待つ上限の60秒は変わりません。

Dropbox Paperでは、チームメンバーの一覧取得が失敗した場合にデータストア例外として報告します。個別メンバーの取得失敗はWARNに記録し、他のメンバーの処理を続けます。ネットワーク不通や無効なトークンで「遅いが成功したクロール」に見える状態を切り分けやすくなります。

導入後はプロキシのCONNECT記録、Fessのクロールログ、取得件数を確認してください。プロキシ経由の疎通ができても、Dropbox側の権限やトークンの有効性は別途必要です。

関連PR

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です