You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何仅返回Negotiate头时Chrome在Linux不提示NTLM凭据,Windows却可以?

Chrome在Windows与Linux下处理Negotiate/NTLM认证的差异原因

核心差异源于系统级认证框架的集成逻辑

  • Windows平台:Chrome直接调用系统的**SSPI(安全支持提供者接口)**处理Negotiate认证。SSPI中的Negotiate提供者内置了"Kerberos优先,失败自动降级到NTLM"的逻辑:

    1. 服务器返回WWW-Authenticate: Negotiate头后,Chrome通过SSPI发起Kerberos认证请求;
    2. 若Kerberos协商失败(比如无域环境、服务器不支持Kerberos),SSPI会自动切换到NTLM认证流程;
    3. 此时Chrome会触发NTLM凭据输入框,完成认证。
  • Linux平台:Chrome未依赖系统级的自动降级机制,对Negotiate头的处理仅局限于Kerberos认证:

    1. 当服务器仅返回WWW-Authenticate: Negotiate时,Chrome只会尝试Kerberos认证;
    2. 若Kerberos认证失败(无Kerberos环境或服务器不支持),Chrome不会自动触发NTLM流程,直接判定认证失败,无凭据提示;
    3. 只有当服务器明确返回WWW-Authenticate: NTLM头时,Chrome才会启动NTLM认证逻辑,弹出凭据输入框。

关于Waffle框架的补充说明

你的服务器基于Waffle框架同时支持Negotiate和NTLM,但仅返回Negotiate头。在Windows下,SSPI的自动降级特性让NTLM被"隐式"触发;而Linux下Chrome需要明确的NTLM头提示才会启用对应认证逻辑,这就是添加WWW-Authenticate: NTLM后Linux端恢复正常的原因。

内容的提问来源于stack exchange,提问作者Ralphie Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:30:52