Web 认证

概述

本节介绍针对 Web 爬取需要 Web 认证时的配置方法。 Fess 支持 BASIC 认证、DIGEST 认证、NTLM 认证和 FORM 认证的爬取。

管理方法

显示方法

要打开下图所示的 Web 认证配置列表页面,请点击左侧菜单中的 [爬虫 > Web认证]。

image0

点击配置名称进行编辑。

创建配置

要打开 Web 认证配置页面,请点击新建按钮。

image1

配置项

主机名

指定需要认证的站点的主机名。 如果省略,将在指定的 Web 爬取配置中对任意主机名应用。

Warning

如果省略主机名,爬取通过链接或重定向到达的其他主机时,也会发送此用户名和密码。 请指定主机名,以免凭据被发送到非预期的主机。

端口

指定需要认证的站点的端口。 如果要对所有端口应用,请将端口留空。不能指定 -1 ,只能输入 0 及以上的值。 在这种情况下,将在指定的 Web 爬取配置中对任意端口应用。

领域

指定需要认证的站点的领域名。 如果省略,将在指定的 Web 爬取配置中对任意领域名应用。 对于 BASIC 认证和 DIGEST 认证,会区分大小写地将其与服务器返回的领域(realm)名进行比较,不一致时不会发送凭据。 NTLM 认证的质询中不包含领域名,因此 NTLM 认证不使用此项(即使指定了错误的领域名也能通过认证)。

方案

选择认证方法。 可以使用 BASIC 认证、DIGEST 认证、NTLM 认证或 FORM 认证。

Note

BASIC、DIGEST、NTLM 方案并不限制服务器可以要求的认证方式。 Fess 会按服务器要求的认证方式发送凭据。 例如,即使登记为 DIGEST 认证,如果服务器只要求 BASIC 认证,也会以 BASIC 认证发送(在 HTTP 下凭据实际上以明文传输)。 登记为 BASIC 认证时,如果服务器要求 DIGEST 认证,则以 DIGEST 认证应答。 NTLM 认证与 BASIC 认证或 DIGEST 认证不能相互替代。 如果选择了服务器未使用的认证方式的方案,则不会发送凭据,该站点的文档也不会被索引。 请选择服务器所使用的认证方式,并尽可能使用 HTTPS。

用户名

指定登录认证站点的用户名。 需要域的 NTLM 认证中,请不要将用户名写成 域名\用户名 的形式,而应使用下文参数中的 domain 指定域。 域名\用户名 这样的值不会被拆分,整个字符串将作为用户名、并以空域发送。

密码

指定登录认证站点的密码。

参数

在需要设置登录认证站点所需的配置值时进行设置。 对于 NTLM 认证,可以设置 workstation 和 domain 的值。 设置时请按以下方式描述。

workstation=HOGE
domain=FUGA
domain

进行认证的域名。使用域账户认证时请指定。 省略时将以空域发送,域账户的认证会失败。 即使以小写指定,也会转换为大写后发送。

workstation

NTLM 消息中包含的工作站名称。 省略时,将发送运行 Fess 的主机的主机名。

Web 配置

选择要应用上述认证设置的 Web 配置名称。 需要事先注册 Web 爬取配置。

认证失败时

如果凭据有误,或者主机名、端口、领域与目标站点不一致而导致不发送凭据,服务器将返回 401 (Unauthorized),该站点的文档不会被索引。 401 会被记录为失败URL,请在 失败URL 中确认。 记录为失败URL的 HTTP 状态码可通过 crawler.failure.url.status.codes 更改( 爬虫高级配置 )。 另外,即使返回 401,已在索引中的文档也不会被删除。

删除配置

点击列表页面中的配置名称,然后点击删除按钮,将显示确认画面。 点击删除按钮将删除配置。