【发布时间】:2018-08-07 18:13:38
【问题描述】:
我目前正在尝试在 IIS7 上安装 Shibboleth 服务提供程序,并在浏览到时从浏览器收到以下错误
http : // 127.0.0.1/Shibboleth.sso/Status :
Shibboleth 错误
ISAPI 扩展只能被调用来处理 Shibboleth 协议请求。确保映射的文件扩展名 与实际内容不符。
这是我目前尝试过的:
- 重新启动 Shibboleth 2 Daemon 服务
- 从界面重新启动 IIS 并使用 iisreset
-
使用正确的站点 ID 和 ISAPI 标记中的正确名称配置 shibboleth2.xml
<!-- ISAPI Settings. --> <ISAPI normalizeRequest="true" safeHeaderNames="true"> <!-- Maps IIS Instance ID values to the host scheme/name/port. The name is required so that the proper <Host> in the request map above is found without having to cover every possible DNS/IP combination the user might enter. --> <Site id="2" name="my_host_name/courses"/> <!-- When the port and scheme are omitted, the HTTP request's port and scheme are used. If these are wrong because of virtualization, they can be explicitly set here to ensure proper redirect generation. --> <!-- <Site id="42" name="virtual.example.org" scheme="https" port="443"/> --> </ISAPI> -
确保状态处理程序类型包含 ::1
<!-- Status reporting service. --> <Handler type="Status" Location="/Status" acl="127.0.0.1 ::1"/>
现在来自 IIS 我在 ISAPI 过滤器中添加了 ISAPI shibboleth dll
- Name=Shibboleth
- 可执行文件=path/to/shibboleth-sp/lib64/shibboleth/isapi_shib.dll
- 条目类型=本地
我在 ISAPI 和 CGI 限制中添加了相同的 dll 说明
- 描述=[无描述]
- 限制=允许
- Path=path/to/shibboleth-sp/lib64/shibboleth/isapi_shib.dll
我确保主机文件包含 IP 和我的主机名。
我从 Shibboleth 论坛找到了一些关于该错误的答案,但似乎没有任何效果。
如果我禁用 SSO,我可以浏览 /course 文件夹。 我可以从另一台计算机访问同一页面并显示错误,而不仅仅是从服务器本身。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: iis-7 shibboleth isapi