Edited at

Fess における proxy 設定で軽くハマったメモ


概要

オープンソース全文検索サーバー Fess を proxy配下で動作させた時に、軽くハマったのでメモ。


結論

proxy配下のサーバーでFessを利用するときは、管理画面「クロール設定」の「設定パラメータ」に以下の設定を加える だけ で動作する。

client.proxyHost=プロキシサーバー名(ex. 192.168.1.1)

client.proxyPort=プロキシサーバーのポート(ex. 8080)

FireShot Capture 31 - Fess I ウェブのクロール_ - http___pt-toybox01-vmg.wni.co.jp_7.png

公式ドキュメント:クローラ関連の設定


環境


  • Docker version 18.09.0

  • docker-compose version 1.23.1

  • Fess 12.3 の Dockerイメージを使用。


ハマりポイント:環境変数 http_proxy の設定をしてはいけない

proxy配下でdockerを利用してコンテナを立ち上げる際、コンテナ内からproxy外へのアクセスをするために通常は環境変数http_proxyを設定します。しかし、本ケースでは、これを してはいけません

例えばdocker-composeを使用する場合は、environmenthttp_proxyおよびhttps_proxy以下のようなdocker-compose.ymlとなります。

version: "3"

services:
fess:
image: codelibs/fess:12.3
# 以下は、設定してはいけない
# environment:
# http_proxy: http://xxx.xx.xxx.x:xxxx/
# https_proxy: https://xxx.xx.xxx.x:xxxx/
ports:
- "8080:8080"

環境変数http_proxyを設定すると、初回起動時にFessに内包されているElasticsearchでエラーが発生し、サービス利用ができません。

一方で、webクローラーを動かすためにプロキシが必要。

そういう場合は、プロキシ設定は環境変数で設定せず、起動後に管理画面へアクセス・ログインしwebクローラー設定での設定が必要となるわけです。