Windows Server 2019安装ADFS后openid-configuration报503无法访问
故障根因
这是ADFS部署时默认注册的HTTP.sys URL预留抢占路径导致的典型问题。
ADFS安装过程会自动在系统HTTP.sys层注册/.well-known/路径的URL预留,该预留优先级高于IIS站点的主机头绑定路由规则,所有匹配该路径的请求会在到达IIS之前就被HTTP.sys直接转发到ADFS的专属请求队列。哪怕手动停止ADFS服务,这条URL预留规则依然会保留在系统配置中,请求找不到对应的监听服务就会直接返回503错误,因此IIS日志中不会留下任何请求记录。
排查验证
以管理员身份打开PowerShell,执行以下命令查看当前系统所有URL预留规则:
netsh http show urlacl
在输出结果中如果找到https://auth.myserver.local:443/.well-known/对应的预留条目,且关联的安全主体为ADFS服务账号,即可确认根因。
修复步骤
- 删除抢占路径的错误URL预留,执行以下命令:
netsh http delete urlacl url=https://auth.myserver.local:443/.well-known/
- 为ADFS添加精准路径的URL预留,避免影响根站点下的其他路径。ADFS自身的.well-known相关端点全部位于
/adfs/路径前缀下,仅需给该路径添加预留即可:
netsh http add urlacl url=https://auth.myserver.local:443/adfs/.well-known/ user="NT SERVICE\adfssrv"
- 依次执行
iisreset重启IIS服务,若需要保留ADFS功能则重启ADFS服务,之后重新访问原OpenID配置端点即可恢复正常。
备选方案
如果不需要让ADFS和现有IIS站点共用auth.myserver.local域名,可以直接给ADFS分配独立的主机名,重新配置ADFS的农场绑定信息后删除抢占路径的URL预留,从根源上避免路径冲突。
注意事项
- 不要随意删除ADFS其他路径的URL预留规则,否则会导致ADFS自身认证端点无法正常访问
- 部分ADFS累积更新安装后可能会重新注册根路径下的.well-known预留,若后续再次出现同类503问题,按上述步骤检查URL预留列表即可
- 所有netsh命令必须以管理员权限执行,否则会提示权限不足
内容的提问来源于stack exchange,提问作者skini82
相关产品推荐
相关产品推荐

