是否可以在Nginx + Passenger中使用Shibboleth 2?


Answers:


8

直到FastCGI支持“授权者”模式。Shibboleth 2文档描述了FastCGI SP应用程序,但解释说它不适用于Nginx,因为它缺少过滤器所需的“授权者”模式。

Nginx线程表明,许多人都希望使用“授权者”模式,但是实现起来太困难了。当人们尝试就放弃了

Rails线程上的海报Alex 共享了Shibboleth auth的Ruby代码,但似乎使用过Apache。其他使用Nginx的海报仍然无法使其正常工作。


1

是的,有可能。安装和配置nginx-http-shibboleth用于nginx 的模块,该模块使nginx能够理解nginx可以支持的FastCGI授权者规范的各个部分;Shibboleth身份验证足以成功。您的安装将需要Shibboleth服务提供商(SP)的FastCGI构建以及适当的nginx配置,以便与shibauthorizershibresponderFastCGI应用程序进行通信。

假设所有后端应用程序和环境都支持HTTP标头或从nginx设置的环境变量,则可以以某种方式得到支持。将Shibboleth属性传递给您的应用程序既可以通过nginx环境变量(通过shib_request_set),也可以通过shib_request_use_headers on;HTTP标头(请小心进行欺骗)。我从未使用过Passenger来托管应用程序,但就您而言,看来您可以使用passenger_env_var并将shib_request_setShibboleth属性添加到您的应用程序中。

完整的设置过程可在GitHub存储库中找到,网址https://github.com/nginx-shib/nginx-http-shibboleth

免责声明:我是该模块的当前维护者。

注意:此模块取代了我以前可能写过的所有以前的博客文章或Wiki条目。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.