Server 2019新建ADFS配置失败,SSL证书不支持certauth.sts.domain.com报错
ADFS 证书相关配置失败排查解决步骤
该报错核心根因为ADFS证书身份验证所需的主机名未被SSL证书覆盖,端口绑定时校验不通过导致部署失败,你之前尝试的重装ADFS、禁用安全软件、检查防火墙均未涉及核心问题,按以下步骤排查处理:
1. 校验SSL证书使用者备用名称(SAN)是否符合要求
- ADFS默认会为证书身份验证功能自动生成
certauth.<ADFS服务域名>的绑定主机名,对应本例的certauth.sts.domain.com,该域名必须包含在ADFS所用SSL证书的SAN列表中 - 查看证书SAN的方法:右键点击证书文件→「详细信息」选项卡→找到「使用者备用名称」字段,确认是否存在
certauth.sts.domain.com条目 - 若没有该条目,可选择两种方案:一是重新申请包含该SAN的SSL证书,二是手动修改ADFS配置,使用现有证书已支持的主机名做绑定
2. 手动调整ADFS证书认证绑定配置(无需重新申请证书可选)
如果无法快速更新证书,可通过PowerShell指定ADFS使用现有证书覆盖的主机名进行49443端口绑定,操作步骤如下:
- 以管理员身份打开PowerShell,先卸载残留的ADFS部署:
Uninstall-WindowsFeature ADFS-Federation -IncludeManagementTools - 重启服务器后重新安装ADFS角色暂不配置:
Install-WindowsFeature ADFS-Federation -IncludeManagementTools - 执行自定义部署命令,指定证书认证主机名为现有证书支持的
sts.domain.com:
# 替换为你实际使用的SSL证书指纹,指纹可从证书详细信息面板复制,需去掉所有空格 $cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -eq "替换为你的证书指纹"} Install-AdfsFarm ` -CertificateThumbprint $cert.Thumbprint ` -FederationServiceName "sts.domain.com" ` -FederationServiceDisplayName "你的组织ADFS服务名称" ` -ServiceAccountCredential (Get-Credential "你的域\ADFS服务账号") ` -CertAuthHostName "sts.domain.com"
上述命令通过
-CertAuthHostName参数覆盖了ADFS默认的certauth前缀主机名,绑定校验时会匹配你指定的主机名,只要该主机名在证书SAN列表中即可通过验证。
3. 确认端口绑定无冲突
- 执行命令
netsh http show sslcert查看49443端口是否已有其他服务的SSL绑定,若有先删除旧绑定:netsh http delete sslcert ipport=0.0.0.0:49443 - 检查
C:\Windows\System32\drivers\etc\hosts文件,确认存在sts.domain.com指向127.0.0.1的本地映射,没有则手动添加。
4. 重新完成ADFS配置
以上步骤操作完成后重新运行ADFS配置向导,证书校验和端口绑定即可正常通过,服务可正常启动。
内容的提问来源于stack exchange,提问作者Mark Billig
相关产品推荐
相关产品推荐

