Savez-vous s'il est possible d'utiliser Nginx avec Shibboleth?
Savez-vous s'il est possible d'utiliser Nginx avec Shibboleth?
Pas avant que FastCGI ne prenne en charge le mode "authorizer". La documentation de Shibboleth 2 décrit une application FastCGI SP mais explique qu'elle ne fonctionne pas avec Nginx car il manque le mode "authorizer" nécessaire pour le filtre.
Un thread Nginx montre que beaucoup de gens veulent le mode "authorizer" mais c'est trop difficile à implémenter. Quand les gens essaient, ils abandonnent .
L'affiche Alex sur ce fil Rails partage le code Ruby pour l'authentification Shibboleth mais semble avoir utilisé Apache. D'autres affiches utilisant Nginx ne pouvaient toujours pas le faire fonctionner.
Oui c'est possible. Installez et configurez le nginx-http-shibboleth
module pour nginx, qui permet à nginx de comprendre les parties de la spécification d'autorisation FastCGI que nginx peut prendre en charge ; assez pour que l'authentification Shibboleth réussisse. Votre installation nécessite une version FastCGI du fournisseur de services Shibboleth (SP) et une configuration appropriée de nginx pour communiquer avec les applications shibauthorizer
et shibresponder
FastCGI.
Toutes les applications et tous les environnements dorsaux peuvent être pris en charge d'une certaine manière, en supposant qu'ils prennent en charge les en-têtes HTTP ou les variables d'environnement définies à partir de nginx. La transmission des attributs Shibboleth à votre application se fait soit via les variables d'environnement nginx (via shib_request_set
), soit via shib_request_use_headers on;
les en-têtes HTTP (attention à l'usurpation d'identité). Je n'ai jamais utilisé Passenger pour héberger une application, mais dans votre cas, il semble que vous puissiez utiliser passenger_env_var
et shib_request_set
obtenir des attributs Shibboleth dans votre application.
Le processus d'installation complet se trouve dans le référentiel GitHub à https://github.com/nginx-shib/nginx-http-shibboleth .
Avertissement: je suis le mainteneur actuel de ce module.
Remarque : ce module remplace tous les articles de blog ou les entrées wiki précédents que j'ai pu écrire précédemment.
Je n'ai pas encore essayé cela moi-même, mais consultez les entrées de David Beitey sur le wiki Shibboleth .