FessのWeb認証でホスト・NTLM設定と401応答を確認する

認証が必要なWebサイトをFessでクロールするときは、ユーザー名とパスワードだけでなく、資格情報を適用する範囲を確認する必要があります。15.9開発版に向けた文書整備と、NTLMのワークステーション名・401応答の記録に関する変更を紹介します。

2026年10月15日確認時点では関連する4件のPRはすべてマージ済みです。

資格情報を適用する範囲

管理画面のWeb認証設定には、先に登録したWebクロール設定を指定します。

項目空欄の場合・利用条件
ホスト名選択したクロール設定内の任意のホストに適用。リンクやリダイレクトでたどる別ホストも対象になり得るため、対象ホストを指定する
ポート任意のポートに適用。-1ではなく空欄を使う
レルム任意のレルムに適用。BASIC/DIGESTで指定する場合は大文字小文字も一致させる。NTLMでは使われない

スキーム欄はサーバーが要求する方式を強制する設定ではありません。たとえばDIGESTで登録しても、サーバーがBASICを要求すればBASICで応答します。サーバーの実際の方式に合わせ、HTTPSで利用してください。NTLMとBASIC/DIGESTの資格情報は互いに代わりにはなりません。

NTLMのドメインとworkstation

ユーザー名にはユーザー部分を入力し、パラメーター欄に次のように記述します。

domain=EXAMPLE
workstation=FESSCRAWLER

DOMAIN\userをユーザー名欄に入れても、自動的にドメインとユーザーへ分割されません。domainを省略すると空ドメインになり、指定値は大文字に変換して送信されます。

workstationを省略した場合はFess実行ホストの名前が使われます。PR #221は、明示したworkstationがHttpClient 5に無視され、ローカルホスト名になる問題を修正します。修正を含むクローラーで、NTLM Type 3メッセージに設定値が反映されます。Type 1へworkstationを追加する変更ではありません。

401を障害URLで確認する

PR #3651は、同梱設定の初期値を404,403,410から404,403,410,401へ変更します。資格情報の不一致や更新後の認証失敗を、障害URLとして確認しやすくします。

既存環境でこのプロパティを設定している場合は、自動的に書き換わりません。401を記録する運用を選ぶ場合は、既存のコードを残して設定を見直してください。

crawler.failure.url.status.codes=404,403,410,401

401が返っても、すでにインデックスにある文書は削除されません。障害URLによる後続クロールの除外はfailure.count.thresholdに依存し、初期値の-1では無効です。閾値を設定している環境では、認証情報の訂正だけで再クロールできるとは限りません。認証を要求するページへのリンクがある公開サイトでも401の記録が増える可能性があります。

関連PR

コメントを残す

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