A.3. Firefox Kerberos 配置故障排除
如果 Kerberos 身份验证不起作用,请为身份验证过程打开详细日志记录。
- 关闭 Firefox 的所有实例。
- 在命令提示符中,导出
NSPR_LOG_*
变量的值:export NSPR_LOG_MODULES=negotiateauth:5 export NSPR_LOG_FILE=/tmp/moz.log
- 从该 shell 重新启动 Firefox,再访问失败 Kerberos 身份验证的网站。
- 检查
/tmp/moz.log
文件中是否有消息中带有 nsNegotiateAuth 的错误消息。
Kerberos 身份验证会出现几个常见错误:
- 没有找到凭证
-1208550944[90039d0]: entering nsNegotiateAuth::GetNextToken() -1208550944[90039d0]: gss_init_sec_context() failed: Miscellaneous failure No credentials cache found
这意味着没有可用的 Kerberos 票据(这意味着它们已过期或未生成)。要解决这个问题,请运行 kinit 来生成 Kerberos 票据,然后再次打开网站。- 在 Kerberos 数据库中找不到服务器
-1208994096[8d683d8]: entering nsAuthGSSAPI::GetNextToken() -1208994096[8d683d8]: gss_init_sec_context() failed: Miscellaneous failure Server not found in Kerberos database
这意味着浏览器无法联系 KDC。这通常是 Kerberos 配置问题。正确的条目必须位于/etc/krb5.conf
文件的 [domain_realm] 部分,以识别域。例如:.example.com = EXAMPLE.COM example.com = EXAMPLE.COM
- 日志中没有错误
- HTTP 代理服务器可以剥离 Kerberos 身份验证所需的 HTTP 标头。尝试使用 HTTPS 连接到站点,这将允许请求通过未修改的传递。