Azure SSO出现InvalidRequest(426)错误,求排查诊断建议
Azure SSO集成426 InvalidRequest错误排查建议
错误信息摘要
Azure SSO - 响应状态码表示请求失败:426 (InvalidRequest)。'/azuressotest'应用程序中出现服务器错误。
异常核心:无法从https://login.microsoftonline.com/1426******/federationmetadata/2007-06/federationmetadata.xml?appid=d91b1af3*****获取联邦元数据,触发IDX10803错误。
环境差异:Windows Server 2012运行正常,所有Windows Server 2019环境均出现该错误。
排查修改步骤
强制启用TLS 1.2
Windows Server 2019默认可能禁用旧版TLS协议,而Azure AD要求使用TLS 1.2及以上版本。通过注册表配置强制.NET Framework使用强加密:- 打开注册表编辑器,定位到以下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319
- 添加或修改
SchUseStrongCryptoDWORD值,设置为00000001 - 重启服务器或IIS服务使配置生效
- 打开注册表编辑器,定位到以下路径:
验证网络连通性
在Windows Server 2019服务器上直接测试元数据URL:- 用浏览器访问目标元数据URL,确认是否能正常加载XML内容
- 若浏览器无法访问,检查防火墙出站规则是否允许访问
login.microsoftonline.com,以及代理服务器是否正确转发请求(若有代理) - 用
curl命令测试:curl -v https://login.microsoftonline.com/1426******/federationmetadata/2007-06/federationmetadata.xml?appid=d91b1af3*****,查看返回的状态码和错误详情
更新身份验证组件
项目中使用的Microsoft.IdentityModel.Protocols、Microsoft.Owin.Security.WsFederation等NuGet包可能版本过旧,不兼容Windows Server 2019环境:- 打开NuGet包管理器,更新所有相关身份验证类库到最新稳定版本
- 重新编译部署应用程序
检查IIS及应用池配置
确保Windows Server 2019上的IIS配置与Server2012一致:- 确认应用程序池的.NET Framework版本设置为4.0(与Server2012保持一致)
- 检查IIS请求过滤规则,是否拦截了特定请求头或URL路径
- 验证应用程序池权限,确保有足够权限发起外部HTTP请求
排查系统安全策略
Windows Server 2019的安全策略可能限制了.NET应用的网络请求:- 检查本地安全策略中的“网络访问”相关规则,是否禁止对外部HTTPS地址的访问
- 查看Windows Defender防火墙高级设置,确认出站规则允许应用程序访问互联网
内容的提问来源于stack exchange,提问作者Denny
相关产品推荐
相关产品推荐

