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

Windows Server 2022中IIS与Shibboleth 3 SP交互失败求助

解决Windows Server 2022上IIS与Shibboleth 3 SP交互的404问题

你的核心问题是IIS没有将*.sso路径的请求交给Shibboleth模块处理,而是当成静态文件查找。以下是针对性的解决步骤:

1. 添加Shibboleth处理程序映射

Shibboleth 3 SP在IIS上需要手动配置处理程序映射,确保*.sso请求被模块接管:

  • 打开IIS管理器,选中目标站点,点击右侧处理程序映射
  • 点击添加模块映射:
    • 请求路径:*.sso
    • 模块:根据站点应用池位数选择ShibNative(64位)或ShibNative32(32位)
    • 名称:输入ShibbolethSSO(自定义名称即可)
    • 点击确定,确认创建该映射

2. 匹配应用池位数与模块

  • 打开站点对应的应用池,进入高级设置
  • 查看启用32位应用程序选项:
    • 若设为True,确保处理程序映射使用ShibNative32
    • 若设为False,使用ShibNative

3. 验证Shibboleth配置中的站点映射

编辑C:\opt\shibboleth-sp\etc\shibboleth\shibboleth2.xml,确认<ISAPI>节点包含你的站点信息:

<ISAPI normalizeRequest="true" safeHeaderNames="true">
    <Site id="1" name="localhost" />
    <!-- 若使用域名访问,添加对应节点,例如:<Site id="2" name="example.com" /> -->
</ISAPI>

注意id要和IIS站点的ID一致(可在IIS管理器的站点列表中查看ID列)。

4. 重启服务生效

  • 执行命令重启IIS:
    iisreset
    
  • 在服务管理器中找到Shibboleth 3.x Service,重启该服务

额外排查点

  • 检查Shibboleth日志目录C:\opt\shibboleth-sp\var\log\shibboleth,查看是否有模块加载或请求处理的错误日志
  • 确保IIS站点的身份验证中,匿名认证处于启用状态(Shibboleth.sso路径需要允许匿名访问)

完成以上步骤后,重新访问http://localhost/Shibboleth.sso/Session,应该能正常返回Shibboleth会话页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:54:09